从系列:运行时软件建模
Teresa Hubscher-Younger MathWorks
使用可调度组件,可以对所有类型的建模样式进行分区和调度,这意味着不需要转换为不同的建模样式,并且可以组合不同的建模样式。基于速率的建模样式可以通过使用此特性的导出函数直接分区和调度,从而允许您在不同的时间交错触发不同的组件。这有助于您将不同的组件组合成更大的系统。
可调度组件允许您采用两种非常不同的建模风格,基于速率的建模和导出功能建模,将它们组合在一起,并将它们安排在同一个模型中,这有助于您在组合不同组件时尽早捕获问题,从而节省时间。
这种建模风格给您带来了两大好处。这使您可以完全控制调度模型组件,而不是让Simulink调度组件。万博1manbetx而且不需要处理组件之间的数据依赖问题,因为只有数据传输。
让我告诉你一个例子激励的调度组件的需求。在这个模型中,我们有两个不同的造型风格。在顶层,我们模拟踏板输入,进入节气门传感器和监控器模型块。传感器的数据将要节气门位置控制器和致动器模型块。该系统随后由节气门体作为植物的模型模拟。里面的节气门位置控制器和执行器模型块,有两个输出功能的组件 - 一个用于控制,另一个是执行器
内饰方面,节气门传感器和监控器模型块,还有的传感器和监控器基于速率的子系统。节气门位置传感器中小学,以及监视器 - 他们三人在5毫秒运行。加速踏板位置传感器 - 其中之一是在10毫秒运行。
我要的是传感器之前,控制器日程表运行。我必须重新架构模型交错的这些不同造型风格的调度。要做到这一点,我可以配置节气门传感器和监控器模型块通过周期性事件端口调度模型的基于速率的成分。现在,节气门传感器和监控器模型块内,所有的子系统由两个事件,其中来自模型块外触发。他们被标记为D1和D2。
使用导出函数和可调度器组件,无需考虑固有的调度器,允许您更灵活地集成到自定义环境中。
因此,我们可以使用Schedule Editor在顶层调度这两种类型的组件。在本例中,我们交叉调用了导出函数和可调度组件。ControllerRun5ms和ActuatorRun5ms事件控制油门位置控制器和致动器模型块中的函数调用。D1和D2控制可调度组件。
但我们想让控制器先按执行顺序执行,所以在本例中,我们只是简单地将它拖放到我们想要它运行的地方。
当您从不同的地方获得具有不同建模风格的不同IP时,这种显式的组合调度和交错是非常有用的。