主要内容

引用AUTOSAR地图校准数据的子组件模型

在仿真软件金宝app®AUTOSAR的实现设计,模型引用允许你组织和管理大型或众多AUTOSAR组件层级结构。您可以定义一个算法在子模型和反复引用它。引用模型编译独立于模型,使用它们,它允许模块化开发、重用和共享的跨多个组件和算法设计、代码生成和增量。

对于任何层次结构模型在AUTOSAR模型参考,您可以配置运行时校准的模型数据。在子从AUTOSAR引用软件组件模型,您可以使用代码映射编辑器或同等功能映射参数,数据存储、信号和状态。子模型映射内部数据可以用于内存部分,并可用于software-in-the-loop(银)和processor-in-the-loop(公益诉讼)测试的模型或校准AUTOSAR的运行时环境。

子模型数据映射工作流

Simulin金宝appk仿真子模型元素映射到AUTOSAR软件组件元素:

  • 配置子模型作为模型引用从一个AUTOSAR软件组件模型。使用AUTOSAR组件快速启动或AUTOSAR函数autosar.api.create

  • AUTOSAR代码的角度来看,使用代码映射编辑器配置子模型内部数据。

  • 生成C代码和AUTOSAR XML (ARXML)文件,支持运行时校准子模型的内部数据,开放和构建的组件模型金宝app,引用子模型。

对于这个示例,选择一个模型,引用从一个AUTOSAR软件组件模型。这个示例使用autosar_subcomponent两次,这是引用AUTOSAR组件模型autosar_component。这些模型相关的示例脚本配置子组件AUTOSAR校准和测量数据。你可以复制模型matlabroot/ / autosarblockset /主要例子(cd到文件夹工作目录)。

打开子模型独立的,也就是说,在一个单独的模式窗口。在模型窗口中,从应用程序选项卡,打开AUTOSAR组件设计器应用程序。如果子模型映射,它打开AUTOSAR代码中的视角。

如果子模型映射,AUTOSAR组件快速启动打开。快速启动程序。在设置组件窗格中,选择模型从AUTOSAR引用软件组件模型

当你完成快速启动程序,然后单击完成AUTOSAR代码中,子模型打开透视图。

AUTOSAR代码的角度来看,使用映射编辑器的代码:

  • 个人参数映射到PerInstanceParameters。

  • 如果块信号必须被映射到AUTOSAR变量不显示在代码映射编辑器中,选择信号并将它们添加到映射表。

  • 地图个人信号、状态和ArTypedPerInstanceMemorys数据存储。

  • 设置后映射到属性为参数、信号、状态或数据存储,点击图标来配置额外的代码映射属性图标查看和修改其他AUTOSAR代码和校准属性。

如果你有金宝app仿真软件编码器™和嵌入式编码®软件,您可以构建引用子模型的组件模型。构建时,出口ARXML文件和生成的C代码支持运行时校准子模型的内部数据。金宝app顶级模特的ARXML文件导出包括子模型的描述参数,信号,州,和数据存储,以及软件解决方法中使用的子模型。生成的C代码引用子模型内部数据。模型的构建还生成宏,思科提供的子模型数据和公益诉讼AUTOSAR运行时环境测试和校准。有关更多信息,请参见为验证和部署生成子模型数据宏

以编程方式配置子模型作为模型从一个AUTOSAR软件组件模型,引用调用AUTOSAR函数autosar.api.create并指定名称-值对的论点“ReferencedFromComponentModel”,真的。例如:

hModel =“autosar_subcomponent”;open_system (hModel);autosar.api.create (hModel‘默认’,‘ReferencedFromComponentModel’,真的);

以编程方式添加共享软件解决方法的定义使用子模型,调用AUTOSAR进口国函数调用updateModel并指定AUTOSAR的名称包含共享定义的XML文件(ARXML)。例如:

基于“增大化现实”技术= arxml.importer (“SwAddrMethods.arxml”);调用updateModel (ar, hModel);

子模型参数映射到AUTOSAR组件参数

参数标签的代码映射编辑器中,您可以将模型映射子模型参数AUTOSAR AUTOSAR每个参数运金宝app行时校准。您可以映射模型空间参数的例子包括:

  • 金宝app模型参数对象

  • 金宝app仿真软件查找表对象

  • 金宝app仿真软件断点对象

通过查找表和断点对象映射到AUTOSAR内部校准参数,可以为集成和分布式模型AUTOSAR参数查询。有关更多信息,请参见为AUTOSAR校准和测量配置查找表

在创建模型空间在您的模型参数,例如,使用模型浏览器,打开代码映射编辑器并选择参数选项卡。选择仿真软件模金宝app型工作区AUTOSAR组件参数并将它们映射到每个参数。

有关更多信息,请参见AUTOSAR每个工作区配置模型参数作为参数

参数选项卡列出每个仿真软件模型空间金宝app参数,您可以映射到一个AUTOSAR参数。您可以:

  • 映射参数通过选择菜单,然后选择一个值一个AUTOSAR参数类型:PerInstanceParameter汽车。接受软件映射违约,指定汽车

    例如,在这里参数选项卡为子模型autosar_subcomponent。AUTOSAR软件组件模型autosar_component包含的两个实例autosar_subcomponent

  • 如果你选择参数类型PerInstanceParameter,单击图标来配置额外的代码映射属性图标查看和修改其他AUTOSAR代码和校准属性参数。

    属性 目的
    SwAddrMethod 选择一个SwAddrMethod名字从AUTOSAR的名字列入有效参数。例如,子模型autosar_subcomponent定义CALIB_32。代码生成使用SwAddrMethod名字组AUTOSAR参数的内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
    SwCalibrationAccess 指定如何可以访问AUTOSAR参数校准和测量工具。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
    DisplayFormat AUTOSAR参数指定一个显示格式。例如,% 5.1度。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
    LongName 指定一个描述AUTOSAR参数。

子模型数据存储映射到AUTOSAR变量

数据存储标签的代码映射编辑器中,您可以将模型映射子模型数据存储内存块AUTOSAR-typed每个金宝app内存元素AUTOSAR运行时校准。

在创建数据存储内存块在你的模型中,打开代码映射编辑器和选择数据存储选项卡。选择数据存储并将它们映射到AUTOSAR-typed每个内存元素。有关更多信息,请参见AUTOSAR每个内存配置

数据存储选项卡列出每个模型数据存储,您金宝app可以映射到一个AUTOSAR变量。您可以:

  • 地图数据存储通过选择数据存储,然后选择一个菜单AUTOSAR的变量值类型:ArTypedPerInstanceMemory汽车。接受软件映射违约,指定汽车

    例如,在这里本地数据存储选项卡为子模型autosar_subcomponent。AUTOSAR软件组件模型autosar_component包含的两个实例autosar_subcomponent

  • 如果你选择变量类型ArTypedPerInstanceMemory,单击图标来配置额外的代码映射属性图标查看和修改其他AUTOSAR代码和校准属性变量。

    属性 目的
    AUTOSAR变量指定一个短名称。例如,dsmsig。如果未指定,ARXML出口生成一个短名称。
    NeedsNVRAMAccess 选择或清除选项表明是否AUTOSAR变量需要访问的非易失性RAM处理器。配置每个内存镜像块为一个特定的NVRAM块,选择的选项。
    SwAddrMethod 选择一个SwAddrMethod名字的名字列为AUTOSAR变量有效。例如,子模型autosar_subcomponent定义VAR_INIT_32。代码生成使用SwAddrMethod名字组AUTOSAR变量在内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
    RestoreAtStart 选择或清除选项表明如果政府应该在启动时宣读。
    StoreAtShutdown 选择或清除选项表明如果政府写了关闭。
    SwCalibrationAccess 指定如何校准和测量工具可以访问AUTOSAR变量。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
    DisplayFormat AUTOSAR变量指定一个显示格式。例如,% 5 d。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
    LongName 指定一个描述AUTOSAR变量。

AUTOSAR变量映射子模型信号和状态

信号/州标签的代码映射编辑器中,您可以将模型映射子模型信号和各州AUTOSAR-typed每个实例金宝app内存块元素AUTOSAR运行时校准。

在代码映射编辑器中,仿真软件屏蔽状态,对应于状态所有者块可金宝app用于映射。

使模型块信号用于金宝app映射,使用一个代码映射编辑器按钮或一个模型提示:

  • 在模型中画布,选择一个或多个信号。打开代码映射编辑器,信号/州选项卡,并单击添加按钮

  • 模型中的画布,选择一个信号。将您的鼠标停留在显示省略号线索并选择模型添加选中的信号代码映射

另外,调用MATLAB®函数addSignal

选择性地添加块信号AUTOSAR信号映射后,打开代码映射编辑器和选择信号/州选项卡。选择块信号和状态并将它们映射到AUTOSAR-typed每个内存元素。有关更多信息,请参见AUTOSAR每个内存配置

信号/州选项卡列出每个模型块信号和状态金宝app,您可以映射到一个AUTOSAR变量。您可以:

  • 地图模型信号金宝app或状态通过选择信号或状态,然后选择一个菜单AUTOSAR的变量值类型:ArTypedPerInstanceMemory汽车。接受软件映射违约,指定汽车

    例如,在这里信号/州选项卡为子模型autosar_subcomponent。AUTOSAR软件组件模型autosar_component包含的两个实例autosar_subcomponent

  • 如果你选择变量类型ArTypedPerInstanceMemory,单击图标来配置额外的代码映射属性图标查看和修改其他AUTOSAR代码和校准属性变量。

    属性 目的

    AUTOSAR变量指定一个短名称。例如,lutsig。如果未指定,ARXML出口生成一个短名称。

    • 信号,自动生成的短名称可以从信号的名称不同。

    • 对于国家,自动生成的短名称是基于国家名字如果有的话。如果状态是不知名的,生成的名称可以从块不同名称。

    SwAddrMethod 选择一个SwAddrMethod名字的名字列为AUTOSAR变量有效。例如,子模型autosar_subcomponent定义VAR_INIT_32。代码生成使用SwAddrMethod名字组AUTOSAR变量在内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
    SwCalibrationAccess 指定如何校准和测量工具可以访问AUTOSAR变量。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
    DisplayFormat AUTOSAR变量指定一个显示格式。例如,% 1 d。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
    LongName 指定一个描述AUTOSAR变量。

将仿真软件阻止信号A金宝appUTOSAR信号映射,使用一个代码映射编辑器按钮或一个模型提示:

  • 在模型中帆布或信号/州选项卡上,选择一个或多个信号。在信号/州选项卡上,单击删除按钮

  • 模型中的画布,选择一个信号。将您的鼠标停留在显示省略号线索并选择模型删除选中的信号代码映射

另外,调用MATLAB函数removeSignal

为验证和部署生成子模型数据宏

当你建立一个AUTOSAR软件组件模型,引用了子模型,导出ARXML文件和生成的C代码支持运行时校准子模型的内部数据。金宝app

  • 顶级模特的ARXML文件导出包括子模型的描述参数,信号,州,和数据存储,以及软件解决方法中使用的子模型。

  • 生成的C代码引用子模型内部数据。

模型构建还生成宏提供访问子模型映射内部数据为硅和公益诉讼从引用的组件模型,测试和校准AUTOSAR的运行时环境。如果一个AUTOSAR组件模型与内部数据映射,建立包含一个引用模型生成的子模型头文件引用这些宏:

  • INCLUDE_RTE_HEADER——标志指示是否包含一个头RTE组件。

  • RTE_COMPONENT_HEADER——包含定义的头文件的名字子模型的内部参数,信号,状态和数据存储。

例如,如果构建AUTOSAR软件组件模型autosar_component,其中包含的两个实例autosar_subcomponent,生成的文件autosar_subcomponent.h包含这个代码。

# ifdef INCLUDE_RTE_HEADER # include RTE_COMPONENT_HEADER # endif

如果你运行名模SIL或公益诉讼测试从AUTOSAR软件组件模型,引用映射的子模型,银或公益诉讼模式构建自动拿起了子模型内部数据定义。

当你将生成的代码集成到一个AUTOSAR运行时环境中,您必须配置INCLUDE_RTE_HEADER和RTE_COMPONENT_HEADER宏包括子模型内部数据定义。

另请参阅

|

相关的例子

更多关于