主要内容

配置AUTOSAR调度和仿真

要为AUTOSAR架构模型配置调度和仿真,您可以:

  • 添加基本软件(BSW)块来模拟对BSW服务的调用。

  • 创建一个测试工具模型,以将输入和植物元素连接到体系结构模型。

  • 使用“进度编辑器”来安排和指定组件可运行项的执行顺序。

要模拟开放体系结构模型中聚合组件的行为,请单击运行

模拟基本软件服务调用

对于AUTOSAR经典平台,AUTOSAR Blockset提供了基本软件(BSW)块,它允许您对在AUTOSAR运行时环境中运行的BSW服务的软件组件调用进行建模。BSW服务包括NVRAM管理器(NvM)、诊断事件管理器(Dem)和功能抑制管理器(FiM)。在运行时环境中,AUTOSAR软件组件通常使用客户端-服务器或发送方-接收方通信访问BSW服务。

要模拟调用BSW服务的AUTOSAR组件,您需要创建一个包含体系结构、组合或测试利用模型,并添加预配置的BSW服务组件块。这些块提供了BSW服务操作的参考实现。

如果体系结构模型中的组件使用BSW调用程序块,请确保体系结构模型包含BSW服务实现。有关更多信息,请参见模型AUTOSAR基本软件服务调用模拟AUTOSAR基本软件服务和运行时环境

有关在AUTOSAR体系结构模型中使用BSW块的示例,请参见AUTOSAR体系结构模型中的组成和组件

连接测试线束

在您开发架构模型之后,您可以将它连接到提供有意义的输入值和植物模型元素的测试利用模型。例如,考虑架构模型autosar_tpc_composition从例子AUTOSAR体系结构模型中的组成和组件.该模型有三个需要(输入)端口和一个提供(输出)端口。

下面是用于模拟体系结构模型的测试工具模型autosar_tpc_composition.测试线束包含带有踏板输入块的植物模型和与体系结构模型相对应的需要和提供端口的信号。该模型是根据实例模型改编而成的autosar_tpc_system

要将架构模型连接到测试工具:

  1. 插入一个模型块。

  2. 配置模型块引用体系结构模型。

  3. 模型阻止对话框中,选择该选项进度率.关联参数的安排利率中,选择时间表编辑器.体系结构模型组件具有显式分区,您可以使用schedule Editor调度这些分区。

  4. 将架构模型端口连接到测试线束信号。

要查看并运行完成的测试工具模型,请打开示例模型autosar_tpc_system.(要在本地工作文件夹中打开模型,请使用openExample(“autosar_tpc_system”).)

安排组件可运行

对于包含多个可运行项的AUTOSAR经典平台软件组件,AUTOSAR时序扩展规范定义了执行顺序约束。这些约束指定组件中可运行实体的执行顺序。您可以在组件级别查看和操作约束,或者在AUTOSAR架构模型中,在虚拟功能总线(VFB)级别查看和操作约束。

在架构模型中,你可以:

  • 从ARXML文件导入vfb级执行顺序约束。

  • 使用“进度编辑器”修改AUTOSAR组件可运行项的执行顺序。编辑器显示组合层次结构中每个组件中的每个可运行项。

  • 作为组合导出的一部分,将vfb级执行顺序约束导出到ARXML定时模块,modelname_timing.arxml

要调度和指定AUTOSAR组件可运行程序的执行顺序,请使用调度编辑器。从独立组件模型或体系结构模型,您可以:

  • 在AUTOSAR组件或体系结构模型中以分区的形式查看组件可运行项的图形表示。

  • 创建分区并将其映射到AUTOSAR可运行程序。

  • 直接指定可运行对象的执行顺序。

Schedule Editor支持多种建金宝app模样式,包括基于费率的建模和导出功能建模。有关更多信息,请参见使用日程编辑器创建分区.有关AUTOSAR组件模型的示例,请参见配置AUTOSAR可运行执行顺序

在AUTOSAR架构模型中,要打开Schedule Editor,请打开建模选项卡并选择设计工具>时间表编辑器.编辑器显示组合层次结构中每个组件中的每个可运行项。下面是从示例体系结构模型打开Schedule Editor时的执行顺序视图autosar_tpc_composition.使用编辑器控件修改可运行项的执行顺序。

从AUTOSAR体系结构模型导出组合将vfb级执行顺序约束导出到文件中modelname_timing.arxml.ARXML模块从整个组合层次结构中收集计时信息。这段ARXML代码显示了导出的可运行对象的执行顺序约束autosar_tpc_composition,基于Schedule Editor配置。

< VFB-TIMING UUID = "……" > <字>TPC_Composition  <EXECUTION-ORDER-CONSTRAINTUUID = "……"> EOC  /Components/TPC_Composition    <字>PedalSensor_PedalSensor_Step< /字> < COMPONENT-IREF > < TARGET-COMPONENT-REF DEST =“SW-COMPONENT-PROTOTYPE”> /组件/传感器/ PedalSensor < / TARGET-COMPONENT-REF > < / COMPONENT-IREF > < EXECUTABLE-REF DEST =“RUNNABLE-ENTITY”> /组件/ PedalSensor / PedalSensor_IB / PedalSensor_Step < / EXECUTABLE-REF > < SUCCESSOR-REFS > < SUCCESSOR-REF DEST =“EOC-EXECUTABLE-ENTITY-REF”>/Timing/TPC_Composition/EOC/TPS_Primary_ThrottleSensor1_Step     <字>TPS_Primary_ThrottleSensor1_Step< /字>…< / EOC-EXECUTABLE-ENTITY-REF > < EOC-EXECUTABLE-ENTITY-REF UUID = "……" > <字>TPS_Secondary_ThrottleSensor2_Step< /字>…< / EOC-EXECUTABLE-ENTITY-REF > < EOC-EXECUTABLE-ENTITY-REF UUID = "……" > <字>Monitor_ThrottleSensorMonitor_Step< /字>…< / EOC-EXECUTABLE-ENTITY-REF > < EOC-EXECUTABLE-ENTITY-REF UUID = "……" > <字>Ctrl_Controller_Step< /字>…< / EOC-EXECUTABLE-ENTITY-REF > < EOC-EXECUTABLE-ENTITY-REF UUID = "……" > <字>Actuator_Actuator_Step< /字> < COMPONENT-IREF > < TARGET-COMPONENT-REF DEST =“SW-COMPONENT-PROTOTYPE”> /组件/ TPC_Composition /致动器< / TARGET-COMPONENT-REF > < / COMPONENT-IREF > < EXECUTABLE-REF DEST =“RUNNABLE-ENTITY”> /组件/致动器/ Actuator_IB / Actuator_Step < / EXECUTABLE-REF > < / EOC-EXECUTABLE-ENTITY-REF > < / ORDERED-ELEMENTS > < / EXECUTION-ORDER-CONSTRAINT >  /Components/TPC_Composition   .

另请参阅

||

相关的话题