PIL 的目标连接配置
在运行 PIL 仿真之前,必须配置目标连接。通过目标连接配置,PIL 仿真能够:
编译目标应用程序。
在目标上下载、启动和停止应用程序。
支持 Simulink 与目标之间的通信。
对于支持的硬件,可以使用目标支持包。有关详细信息,请参阅Embedded Coder 支持的硬件。
对顶层模型运行 SIL 或 PIL 仿真
通过运行顶层模型 SIL 或 PIL 仿真测试生成的模型代码。使用这种方法:
测试从顶层模型生成的代码,它使用独立代码接口。
配置模型以从 MATLAB 工作区加载测试向量或激励输入。
在顶层模型的 Normal、SIL 和 PIL 仿真模式之间轻松切换。
打开一个简单的计数器顶层模型。
model='rtwdemo_sil_topmodel';
close_system(model,0)
open_system(model)
要专注于数值等效性测试,请关闭以下报告:
模型覆盖率
代码覆盖率
执行时间探查
set_param(gcs, 'RecordCoverage','off');
coverageSettings = get_param(model, 'CodeCoverageSettings');
coverageSettings.CoverageTool='None';
set_param(model, 'CodeCoverageSettings',coverageSettings);
set_param(model, 'CodeExecutionProfiling','off');
配置输入激励数据。
[ticks_to_count, reset, counter_mode, count_enable] = ...
rtwdemo_sil_topmodel_data(T);
配置模型的日志记录选项。
set_param(model, 'LoadExternalInput','on');
set_param(model, 'ExternalInput','ticks_to_count, reset, counter_mode, count_enable');
set_param(model, 'SignalLogging', 'on');
set_param(model, 'SignalLoggingName', 'logsOut');
set_param(model, 'SaveOutput','on')
运行 Normal 模式仿真。
set_param(model,'SimulationMode','normal')
sim_output = sim(model,10);
yout_normal = [sim_output.yout.signals(1).values sim_output.yout.signals(2).values];
运行顶层模型 SIL 仿真。
set_param(model,'SimulationMode','Software-in-the-Loop (SIL)')
sim_output = sim(model,10);
yout_sil = [sim_output.yout.signals(1).values sim_output.yout.signals(2).values];
### Starting build procedure for: rtwdemo_sil_topmodel
### Generated code for 'rtwdemo_sil_topmodel' is up to date because no structural, parameter or code replacement library changes were found.
### Successful completion of build procedure for: rtwdemo_sil_topmodel
Build Summary
Top model targets built:
Model Action Rebuild Reason
==============================================================================
rtwdemo_sil_topmodel Code compiled Compilation artifacts were out of date.
1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 5.8268s
### Preparing to start SIL simulation ...
### Preparing to start SIL simulation ...
### Starting SIL simulation for component: rtwdemo_sil_topmodel
### Stopping SIL simulation for component: rtwdemo_sil_topmodel
如果模型有新的改动,则