对于多任务执行建模
多任务和Pseudomultitasking模式
当周期性任务执行多任务处理模式,默认情况下,块样品最快的执行利率通过与最高优先级的任务,第二块是最快与下一个更高的优先级,执行的任务等等。可用时间在高优先级任务的处理是用于处理低优先级的任务。这导致有效的程序执行。
任务是异步的,而不是周期性的那里,不一定是采样率之间的关系和任务优先级;优先级最高的任务不需要最快的采样率。您指定异步任务优先级使用异步中断和任务同步块。您可以切换的优先级数字什么意思通过选择或清算模型配置参数更高的优先级值表示任务优先级越高。
在多任务环境中(也就是说,在一个实时操作系统),您可以定义不同的任务和分配优先级。为目标硬件裸机(也就是说,没有实时操作系统),您不能创建单独的任务。然而,生成的应用程序模块实现实际上是一个多任务的执行计划使用重叠中断,伴随着程序化的上下文切换。
这意味着一个中断可能发生而另一个中断目前的进展。当这种情况发生时,当前中断被抢占,浮点单元(FPU)上下文保存,和更高的优先级中断执行其更高的优先级(也就是说,采样率越快)代码。一旦完成,控制返回给抢占ISR。
下一个数据说明时间多重速率的系统的任务是处理多任务的代码生成器,pseudomultitasking,单一任务环境。
下一个图显示如何用于实现pseudomultitasking重叠中断。在这种情况下,中断0不返回,直到中断1,2,3。
构建多任务执行的程序
使用多任务执行,选择模型配置参数对待每个离散率作为一个单独的任务。只有你设定这个参数是活跃的解算器类型来固定步
。汽车
模式结果在一个多任务环境中如果你的模型有两个或两个以上不同的样本。模型与连续和离散样本时间运行在单一任务模式如果是固定大小等于离散样本。
执行多任务模型
的情况下连续速度模型的一部分执行不同于离散部分,有块不同的样本率或模型,仿真软件金宝app®引擎分配每一块任务标识符(tid
)将块与任务执行块的采样率。
设置采样率及其限制解算器面板模型的配置参数对话框。来生成代码,选择固定步
解算器的类型。一定的限制适用于您可以使用的样本率:
一个块的采样率必须是一个整数倍数的基础(最快的)样本。
当你设定模型配置参数定期取样时间约束来
无约束
,基本样本期取决于参数的设置固定步长。当你设定参数定期取样时间约束来
指定的
基准利率是固定大小的第一个元素是你指定的样品时间矩阵参数样品时间属性。的解算器面板模型的例子rtwdemo_mrmtbb
显示了一个示例。连续块执行通过使用一个集成算法运行的底部采样率。基本示例时期的最大公分母利率模型中只有当你设置配置参数模型定期取样时间约束来
无约束
和参数固定步长来汽车
。模型的连续和离散部分可以执行在不同的利率只有在离散部分执行相同或较慢的速度比连续部分和一个整数基采样率的倍数。
多任务执行
这个例子探讨如何执行一个简单的多重速率的模型在实时和模拟,使用固定的解决者。它认为操作单一任务和多任务处理模式,确定通过设置配置参数模型对待每个离散率作为一个单独的任务。
模型的例子是下一个图所示。讨论是指模型的六个街区通过F,标记的框图。
块的执行顺序(在每个块的右上角显示)已被迫所表现出的订单分配更高的优先级块F E、d所示的顺序是一个可能的有效执行订购这个模型。有关更多信息,请参见在动态系统仿真阶段。
执行顺序是由数据块之间的依赖关系。在实时系统中,执行顺序决定了块的顺序执行一个给定的时间间隔内或任务。这个讨论将模型作为一个给定的执行顺序,因为它是关心块的分配计算任务,任务的调度执行。
请注意
本节中的讨论和时序图是基于假设速度过渡块中使用默认的(保护)模式,与块参数数据传输期间确保数据完整性和确保确定性数据传输(最大延迟)选择
这个例子认为之前的执行模型,当模型配置参数任务模式被设置为多任务处理
。块计算执行两个任务下,优先率:
较慢的任务,得到了低优先级,每秒钟调度运行。这就是所谓的1秒的任务。
更快的任务,得到更高的优先级,将运行10次每秒。这就是所谓的0.1秒的任务。0.1第二个任务可以抢占1秒。
下面的表显示了,对于每个块模型,执行顺序,运行的任务块,块是否有输出或更新计算。块A和B没有离散状态,因此没有一个更新计算。
在多任务执行任务分配的块
实时多任务执行
下一个图中显示计算的调度多任务处理
解算器模式时,生成的代码部署在一个实时系统。实时显示生成的程序运行,控制两个任务的中断10 Hz计时器。
模拟多任务执行
下一个图显示了仿真软件执行相同的模型,金宝app多任务处理
解算器模式。在这种情况下,仿真软件引擎运行在一个金宝app线程的执行,模拟多任务。没有发生抢占。