主要内容

使用调度编辑器调度导出功能模型

这个示例展示了如何使用Schedule Editor查看和编辑导出函数模型中函数调用的顺序。与所有导出函数模型一样,所需的功能被建模为函数调用子系统。这些函数调用子系统定义由Schedule Editor调度的分区。

使用日程编辑器,您可以轻松地查看和编辑函数调用的日程。系统的行为取决于这些分区的顺序。在这个例子中,我们改变了顺序,并通过模拟模型观察其对系统行为的影响。为了查看编辑计划对模拟的影响,我们比较了计划之前和之后的模型模拟。

从引用的导出-功能模型创建分区

要查看和编辑导出功能模型的进度,请参考模型。

open_system ('trottlepositioncontroltop.slx');

ThrottlePositionControl是引用的导出功能模型。默认情况下,每个函数都有一个输入端口,可用于触发这些功能。计划编辑器会自动处理这些端口。要使用计划编辑器,请使用参数设置计划速率以计划编辑器。

set_param (“ThrottlePositionControlTop / ThrottleControl”“ScheduleRatesWith”“时间表编辑器”);

建立模拟基线

为了观察调度对模型行为的影响,在编辑调度之前通过模拟模型建立基线。模拟模型。

sim卡('trottlepositioncontroltop');

打开日程编辑器

要打开日程编辑器,单击时间表编辑器设计部分的建模选项卡。在Schedule Editor中,模型的不同组件表示为分区。更新图表以查看分区。分区是模型中的入口点。Schedule Editor显示这些分区的顺序和数据通信。箭头表示显示数据流的分区之间的数据连接。虚线表示存在延迟,因为源在目标之后运行。实线表示源在目的地之前运行时没有延迟。

编辑分区表

Order窗格显示分区在给定时间步骤中的运行顺序。假设分区的顺序处于不完美状态。在这种情况下,要删除延迟,您需要运行ThrottleControl。ActuatorRun5ms分区后,ThrottleControl。ControllerRun5ms划分。

ThrottleControl。ActuatorRun5msThrottleControl。ControllerRun5ms在“订单”窗格中。注意,两者之间的延迟ThrottleControl。ControllerRun5msThrottleControl。ActuatorRun5ms分区更改为依赖项。注意,现在在处决之间没有任何延迟ThrottleControl。ControllerRun5msThrottleControl。ActuatorRun5ms

调度非周期分区的执行

输出函数模型包含无约束分区,AccelerationPedalPositionSensor..假设您要安排一个不受约束的分区来模拟,就像它是离散的一样。日程ThrottleControl。AppSnsrRun分区在[0:02:100]运行,以观察其在不同时间实例中的行为。点击无约束分区,输入[(1:5000)*。属性检查器中的点击时间。

比较模拟数据检查器中的运行

现在,用更改的时间表模拟模型。

打开仿真数据检查器。选择两个运行并进行比较。您可以看到更改调度如何影响模型行为。

版权所有The MathWorks, Inc.