主要内容

安排分区

这两个示例演示了对模型进行分区、分区调度以及在编辑分区调度之前和之后分析仿真的工作流程。

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

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

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

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

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

open_system (“ThrottlePositionControlTop.slx”);

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

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

建立模拟基线

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

sim卡(“ThrottlePositionControlTop”);

打开日程编辑器

要打开日程编辑器,单击时间表编辑器设计部分的建模选项卡。在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.

使用计划编辑器计划基于费率的模型

此示例展示如何使用Schedule Editor对基于费率的模型进行分区。分区是模型中可以独立执行的组件。在本例中,我们将子系统转换为分区,并查看和编辑它们的时间表。

使用日程编辑器,您可以轻松地查看和编辑分区的日程。系统的行为取决于这些分区的顺序。在这个例子中,我们观察了调度这个模型对仿真的影响。为了了解分区和调度模型的影响,我们比较了创建分区和调度它们之前和之后的模型模拟。

打开模型并建立仿真基线

打开节气门位置控制系统的模型,并对其进行仿真,以建立比较基线

open_system (“ScheduleEditorWithSubsystemPartitions”);sim卡(“ScheduleEditorWithSubsystemPartitions”);

打开日程编辑器并创建分区

要打开日程编辑器,单击时间表编辑器设计部分的建模选项卡。使用管理分区从模型中的子系统创建分区。中选择所有的子系统ThrottlePositionControl,然后单击创建分区图标的顶部管理分区面板。指定分区的名称及其示例时间。更新图表以在Schedule Editor中查看分区。

箭头表示显示数据流的分区之间的数据连接。虚线总是表示源在目标之后运行时存在延迟。实线表示源在目的地之前运行时没有延迟。

编辑分区表

Order显示了分区在给定时间步长的运行顺序。假设分区的顺序处于不完美状态。在本例中,您希望运行ActuatorRun5ms分区之前ControllerRun5ms分区。拖ActuatorRun5ms之前ControllerRun5ms的顺序。观察ControllerRun5msActuatorRun5ms分区更改为延迟。

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

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

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

另请参阅

相关的话题