主要内容

使用预定义值组合控制AUTOSAR变体

为了定义AUTOSAR软件组件中控制变化点的值,组件使用以下AUTOSAR元素:

  • SwSystemconst-定义一个系统常数,作为控制变差点的输入。

  • SwSystemconstantValueSet—指定一组应用于AUTOSAR软件组件的系统常数值。

  • PredefinedVariant-描述用于AUTOSAR软件组件的多个潜在有效组合中的系统常数值组合。

例如,在ARXML代码中,您可以定义SwSystemconstS表示汽车的特征,例如传输头灯天窗,涡轮增压.然后一个PredefinedVariant可以将特征组合映射到汽车模型的变体,如基本经济高级闹着玩的,初级

假设您有一个AUTOSAR软件组件的ARXML规范。如果ARXML文件还定义了PredefinedVariantSwSystemconstantValueSetS用于控制组件中的变异点,您可以在模型创建时解析这些变异点。指定一个PredefinedVariantSwSystemconstantValueSet用于导入器初始化SwSystemconst数据。

典型的步骤包括:

  1. 弄一份PredefinedVariant年代或SwSystemconstantValueSet在ARXML文件中定义。

    >> obj = arxml.importer('mySWC.arxml');> >找(obj,‘/’,‘PredefinedVariant’,‘PathType’,‘FullyQualified’);ans = '/pkg/body/ variations /Basic' '/pkg/body/ variations /Economy' '/pkg/body/ variations /Senior' '/pkg/body/ variations /Sportive' '/pkg/body/ variations /Junior'
    >> obj = arxml.importer('mySWC.arxml');>> find(obj,'/','SystemConstValueSet','PathType',' fullqualified ') ans = '/pkg/body/SystemConstantValues/A' /pkg/body/SystemConstantValues/B' /pkg/body/SystemConstantValues/C' /pkg/body/SystemConstantValues/C' /pkg/body/SystemConstantValues/D'
  2. 从ARXML文件创建一个模型,并指定PredefinedVariant或一个或多个SwSystemconstantValueSet年代。

    本例中指定PredefinedVariant高级,它描述了价值的组合传输头灯天窗,涡轮增压

    > > createComponentAsModel (obj compname{1},‘ModelPeriodicRunnablesAs’,‘AtomicSubsystem’,……“PredefinedVariant”、“/ pkg /身体/变量/高级”);

    本例中指定SwSystemconstantValueSets A和B,它们一起提供值SwSystemconst在AUTOSAR软件组件中。

    > > createComponentAsModel (obj compname{1},‘ModelPeriodicRunnablesAs’,‘AtomicSubsystem’,……SystemConstValueSets, {' / pkg /身体/ SystemConstantValues / ', ' / pkg /身体/ SystemConstantValues / B "});
  3. 在模型创建期间,ARXML导入器将创建AUTOSAR。参数数据对象,存储类设置为SystemConstant.导入器根据指定的值初始化系统常量数据PredefinedVariantSwSystemconstantValueSet年代。

在创建模型之后,您可以运行模拟并基于您指定的可变点输入值的组合生成代码。

在仿真金宝app软件®,您可以重新定义SwSystemconst控制可变点而不重新创建模型的数据。调用AUTOSAR属性函数createSystemConstants,并指定不同的导入PredefinedVariant或者是不同的单元格数组SwSystemconstantValueSet该函数创建一组与原始对象名称相同的系统常量数据对象。您可以运行模拟并基于修改后的可变点输入值组合生成代码。

这个例子创建了一组系统常量数据对象,对象的名称和值基于导入PredefinedVariant“/ pkg /身体/变量/经济”

arProps = autosar.api.getAUTOSARProperties (hModel);createSystemConstants (arProps“/ pkg /身体/变量/经济”);

构建之前导入的模型导出PredefinedVariant年代和SwSystemconstantValueSets到ARXML代码。

相关的例子

更多关于