主要内容

Simulink®Real-Time™的并发执行金宝app

这个示例展示了如何应用显式分区来增强使用Simulink real生成的实时应用程序的并发执行。金宝app

金宝appSimulink real通金宝app过模型的隐式划分或显式划分来支持并发执行。这个例子展示了模型子系统中任务的显式划分与使用Simulink实时分析工具执行任务之间的关系。金宝app

模型的例子slrt_ex_mds_and_tasks以0.001秒的采样速率运行。

要运行调整了0.01秒采样率的模型,在运行示例之前更改采样额定。在MATLAB命令窗口中,输入:

t = 0.01;

打开、构建和下载模型

顶级模型中的显式分区发生在subsystem1中。

open_system (fullfile (matlabroot,“工具箱”“slrealtime”“例子”“slrt_ex_mds_subsystem1”));

顶级模型中的显式分区发生在subsystem2中。

open_system (fullfile (matlabroot,“工具箱”“slrealtime”“例子”“slrt_ex_mds_subsystem2”));

打开模型slrt_ex_mds_and_tasks.模型被映射到七个线程:Model1_R1Model1_R2Model1_R3Model1_R4Model2_R1Model2_R3,Model2_R4

这些线程以样本速率运行Ts2 * Ts3 * Ts4 * TsTs3 * Ts,4 * Ts

mdl =“slrt_ex_mds_and_tasks”;open_system (fullfile (matlabroot,“工具箱”“slrealtime”“例子”mdl));

要应用显式分区,在Simulink编辑器中金宝app实时选项卡上,单击硬件设置,然后选择解算器>配置任务.选择任务和映射节点。

构建、下载并运行模型。

set_param (mdl“RTWVerbose”“关闭”);slbuild (mdl);tg = slrealtime;负载(tg、mdl);开启TET监控slrtTETMonitor;在目标计算机上启动分析器startProfiler (tg);开始(tg);暂停(2);停止(tg);
### srrt_ex_mds_subsystem1的模型引用代码生成目标是最新的。### slrt_ex_mds_subsystem2的模型引用代码生成目标是最新的。###为'slrt_ex_mds_and_tasks'生成的代码是最新的,因为没有发现结构、参数或代码替换库更改。###创建MLDATX ..\slrt_ex_mds_and_tasks. ###创建MLDATX ..mldatx Build Summary 0 of 3 models built (3 models already up to date)构建时间:0h 0m 11.164s

分析数据显示

分析数据显示了多核目标计算机上每个线程的执行时间。

profData = tg.getProfilerData;profData.plot;
在目标计算机上处理数据…从目标计算机传输数据…警告:无法识别的函数或变量'CloneDetectionUI.internal.CloneDetectionPerspective.register'。在主机上处理数据…

在TET监视器上查看模型的TET信息

关闭模式

bdclose (“所有”);