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