从系列:运行时软件建模
特蕾莎·哈布舍尔·杨格,MathWorks
使用可调度组件,可以对所有类型的建模样式进行分区和调度,这意味着不需要转换到不同的建模样式,并且可以组合不同的建模样式。使用此特性,可以直接使用导出函数对基于费率的建模样式进行分区和调度,从而允许您在不同时间交错地触发不同组件。这有助于将不同的组件组合到更大的系统中。
可调度组件允许您采用两种非常不同的建模风格(基于费率的建模和导出功能建模),并将它们组合在一起,并将它们安排在同一个模型中,这有助于您在组合不同组件时及早发现问题,从而节省时间。
这种建模风格给您带来两大好处。这使您能够完全控制调度模型组件,而不是让Simulink调度组件。金宝app而且不需要处理组件之间的数据依赖问题,因为只有数据传输。
让我向您展示一个激发可调度组件需求的示例。在此模型中,我们有两种不同的建模样式。在顶层,我们模拟了踏板输入,进入油门传感器和监控模块。传感器数据将传输至油门位置控制器和执行器模块。然后,通过节气门体作为设备的模型对该系统进行模拟。在油门位置控制器和执行器模块内部,有两个输出功能部件–一个用于控制器,另一个用于执行器
在节气门传感器和监视器模块内部,有用于传感器和监视器的基于速率的子系统。其中三个以5毫秒的速度运行–油门位置传感器主传感器和辅助传感器,以及监视器。其中一个正在以10毫秒的速度运行–加速踏板位置传感器。
我想让控制器在传感器之前运行。我必须重新构建模型,以交错这些不同的建模风格的调度。为此,我可以配置Throttle Sensors和Monitor模型块,通过周期性事件端口调度模型的基于速率的组件。现在,在Throttle Sensors和Monitor模型块内部,所有子系统都由两个事件触发,这两个事件来自模型块外部。它们被标记为D1和D2。
使用导出函数和可调度器组件,无需假定固有的调度器,允许您更灵活地集成到自定义环境中。
因此,我们可以使用明细表编辑器在顶层对这两种类型的组件进行明细表。在本例中,我们交错调用导出函数和可调度组件。ControllerRun5ms和ActuatorRun5ms事件控制油门位置控制器和执行器模块中的功能调用。D1和D2控制可调度组件。
但是我们想让控制器在执行顺序中首先被执行,所以在这个例子中,我们简单地将它拖放到我们想要它运行的地方。
当你从不同地方获得带有不同建模风格的不同IP时,这种显式调度和组合交错非常有用。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。