为了定义AUTOSAR软件组件中控制变化点的值,组件使用以下AUTOSAR元素:
SwSystemconst
-定义一个系统常数,作为控制变差点的输入。
SwSystemconstantValueSet
—指定一组应用于AUTOSAR软件组件的系统常数值。
PredefinedVariant
-描述用于AUTOSAR软件组件的多个潜在有效组合中的系统常数值组合。
例如,在ARXML代码中,您可以定义SwSystemconst
S表示汽车的特征,例如传输
,头灯
,天窗
,涡轮增压
.然后一个PredefinedVariant
可以将特征组合映射到汽车模型的变体,如基本
,经济
,高级
,闹着玩的
,初级
.
假设您有一个AUTOSAR软件组件的ARXML规范。如果ARXML文件还定义了PredefinedVariant
或SwSystemconstantValueSet
S用于控制组件中的变异点,您可以在模型创建时解析这些变异点。指定一个PredefinedVariant
或SwSystemconstantValueSet
用于导入器初始化SwSystemconst
数据。
典型的步骤包括:
弄一份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'
从ARXML文件创建一个模型,并指定PredefinedVariant
或一个或多个SwSystemconstantValueSet
年代。
本例中指定PredefinedVariant
高级,它描述了价值的组合传输
,头灯
,天窗
,涡轮增压
.
> > createComponentAsModel (obj compname{1},‘ModelPeriodicRunnablesAs’,‘AtomicSubsystem’,……“PredefinedVariant”、“/ pkg /身体/变量/高级”);
本例中指定SwSystemconstantValueSet
s A和B,它们一起提供值SwSystemconst
在AUTOSAR软件组件中。
> > createComponentAsModel (obj compname{1},‘ModelPeriodicRunnablesAs’,‘AtomicSubsystem’,……SystemConstValueSets, {' / pkg /身体/ SystemConstantValues / ', ' / pkg /身体/ SystemConstantValues / B "});
在模型创建期间,ARXML导入器将创建AUTOSAR。参数
数据对象,存储类设置为SystemConstant
.导入器根据指定的值初始化系统常量数据PredefinedVariant
或SwSystemconstantValueSet
年代。
在创建模型之后,您可以运行模拟并基于您指定的可变点输入值的组合生成代码。
在仿真金宝app软件®,您可以重新定义SwSystemconst
控制可变点而不重新创建模型的数据。调用AUTOSAR属性函数createSystemConstants
,并指定不同的导入PredefinedVariant
或者是不同的单元格数组SwSystemconstantValueSet
该函数创建一组与原始对象名称相同的系统常量数据对象。您可以运行模拟并基于修改后的可变点输入值组合生成代码。
这个例子创建了一组系统常量数据对象,对象的名称和值基于导入PredefinedVariant
“/ pkg /身体/变量/经济”
.
arProps = autosar.api.getAUTOSARProperties (hModel);createSystemConstants (arProps“/ pkg /身体/变量/经济”);
构建之前导入的模型导出PredefinedVariant
年代和SwSystemconstantValueSet
s到ARXML代码。