从系列:运行时软件建模
Teresa Hubscher-Younger MathWorks
使用导出功能建模风格的分区和调度模型,可以轻松地将功能集成到软件环境中,并具有从模型到代码的清晰映射。这种风格与基于速率的建模形成了对比。
使用导出函数,代码分离出可以集成到更大系统中的函数。划分模型以进行调度和更容易的代码集成是使用这些函数进行运行时软件建模的两个主要原因。
导出功能建模风格允许您轻松地将模型中的功能集成到软件环境中,并提供从模型到代码的清晰映射。
为了说明这是如何工作的,我将从一个节气门控制系统的模型开始,其中所需的软件功能已经使用子系统进行了建模。
在这个模型中,我们模拟了踏板输入,进入油门控制,然后通过一个油门体作为植物的模型来模拟。在节气门控制子系统中,我们有传感器和传感器管理功能,包括主、次节气门传感器和传感器监视器。我们还有一个控制器和执行器。
要了解导出函数建模的需要,让我们产生了这种模式的默认代码。虽然我已与子系统建模的所期望的功能,Simulink的优化代码和线的功能。金宝app此外,函数的执行顺序是由Simulink中的内置的调度确定。金宝app其结果是,该代码不能反映的功能的接口,并且不提供的能力控制的执行顺序。这可能不符合你的软件体系结构的需要。
让我们看看导出功能建模版本。现在模型架构不同。首先,油门控制器子系统,现在是固定的步离散求解器的模型块,而不是变步长求解器,因为它用于软件和集成。
和模型块中,它们在函数调用子系统。导出功能可以让你的界面,在这里是功能集成到架构中表示为功能触发端口建模。如果我们看一下在函数调用采样时间,我们可以看到,他们每5毫秒采样,除了节气门位置传感器的初,这是在每10毫秒采样,加速踏板位置传感器有一个事件触发时,这将运行。
使用导出函数时,不需要考虑固有的调度器,允许您更灵活地集成到自定义环境中。您可以选择通过端口或调度编辑器来进行调度,以制作一个简单的测试工具。出于模拟目的,软件调度器(在本例中)是调度编辑器。
计划编辑器发送到不同功能的事件调用基于当函数调用需要调用每5或10毫秒。加速踏板位置传感器是已安排命中倍明确的非周期性分区。如果你用Stateflow中做了运行时软件建模调度,您可以使用逻辑结构改变时,组件根据不同的情况下调用。
可以使用Simulink测试产品设置更广泛的测试工具来对控制器进行单元测试。金宝app
当我们生成的模型块码,我们得到的代码分离出来的功能,这是从关闭该功能调用接口的名字取,使软件更容易建立。与调度,更容易代码集成更逼真的造型是两个我们使用实时软件建模导出功能的主要原因。