主要内容

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

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

  • SwSystemconst—定义一个系统常量,作为控制可变点的输入。

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

  • PredefinedVariant-描述应用于AUTOSAR软件组件的系统常量值的组合,以及可能存在的多个有效组合。

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

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

典型的步骤包括:

  1. 得到一个列表PredefinedVariant年代或SwSystemconstantValueSet在ARXML文件中定义。

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

    本例中指定PredefinedVariant的值的组合传输头灯天窗,涡轮增压

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

    本例中指定SwSystemconstantValueSetA和B,它们一起为SwSystemconst在AUTOSAR软件组件中。

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

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

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

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

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

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

相关的例子

更多关于

Baidu
map