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