Set Signal Logging in MATLAB Simulink
Aug. 08, 2022
使用 Simulink Toolstrip 设置 Signal Logging
Configure a Signal for Logging: Enable Logging Using Simulink Toolstrip
创建 Simulink 模型:
模块 Sine Wave 和 Cosine Wave 模块的幅值分别由变量 A1
和 A2
控制,由后面的脚本控制:
选中需要记录的信号后,点击 Simulation tab 中的 Log signals
之后,可以在需要记录的信号上看到天线的标志:
之后 Ctrl+E
点开模型配置,确保勾选了 Signal Logging
点击后面的 Configure Signals to Logging Selector 按钮
可以进行信号属性的配置,包括设置 Signal name 等等
Apply 后 OK。
之后使用脚本 script1.m 设置变量 A1
和 A2
的值,并运行仿真。
1
2
3
4
5
6
7
clc, clear
mdl = 'model';
open_system(mdl);
in = Simulink.SimulationInput(mdl);
in = in.setVariable('A1', 10);
in = in.setVariable('A2', 15);
out = sim(in);
在 out.logsout
中就保存着记录的两个信号:
1
2
3
4
5
6
7
8
9
10
11
12
>> out.logsout
ans =
Simulink.SimulationData.Dataset 'logsout' with 2 elements
Name BlockPath
__________ _________________
1 [1x1 Signal] CosineWave model/Cosine Wave
2 [1x1 Signal] SineWave model/Sine Wave
- Use braces { } to access, modify, or add elements using index.
使用脚本设置 Signal Logging
设置 Signal Logging 的过程同样可以使用脚本来完成
Configure a Signal for Logging: Programmatic Interface
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clc, clear
mdl = 'model';
open_system(mdl);
in = Simulink.SimulationInput(mdl);
in = in.setVariable('A1', 10);
in = in.setVariable('A2', 15);
signal1 = get_param('model/Sine Wave','PortHandles');
set_param(signal1.Outport(1),'DataLogging','on')
signal2 = get_param('model/Cosine Wave','PortHandles');
set_param(signal2.Outport(1),'DataLogging','on')
out = sim(in);
1
2
3
4
5
6
7
8
9
10
11
12
>> out.logsout
ans =
Simulink.SimulationData.Dataset 'logsout' with 2 elements
Name BlockPath
____ _________________
1 [1x1 Signal] '' model/Cosine Wave
2 [1x1 Signal] '' model/Sine Wave
- Use braces { } to access, modify, or add elements using index.
参考