主要内容

updateAUTOSARProperties

R2026b

使用 AUTOSAR 元素包中的 ARXML 定义更新模型

描述

updateAUTOSARProperties(ar,modelname) 使用与 arxml.importer 对象 ar 关联的 XML 文件中的包中的 AUTOSAR 元素定义更新指定的打开模型。该更新会生成一份报告,详细说明添加到模型中的 AUTOSAR 元素。对于 updateAUTOSARProperties,关联的 XML 定义文件不需要包含由该模型映射的 AUTOSAR 软件组件。(与 updateModel 相比,后者要求该组件。)

默认情况下,该函数将 AUTOSAR 元素导入为只读定义,这会阻止更改。要允许修改导入的元素,请将 ReadOnly 属性设置为 false。

对于每个导入的 AUTOSAR 元素,该函数还会导入元素依赖项。例如,导入 CompuMethod 元素还会导入 Unit 和 PhysicalDimension 元素。

如果您导入 AUTOSAR 数值或枚举数据类型,您可以使用 createNumericType 和 createEnumeration 函数创建对应的 Simulink® 数据类型对象。

示例

updateAUTOSARProperties(ar,modelname,Name,Value) 通过使用 Name,Value 参量对组来指定特定元素类别、包或路径,从而使用 AUTOSAR 元素更新指定的打开模型。

示例

示例

全部折叠

假设您正在开发一个 AUTOSAR 软件组件模型,并且需要将多个产品线和团队共享的预定义 SwAddrMethod 元素导入该模型中。此示例描述如何将示例共享描述文件 SwAddrMethods.arxml 中的定义导入到示例模型 autosar_swc 中并生成更新报告。

modelName = 'autosar_swc';
openExample(modelName);
ar = arxml.importer('SwAddrMethods.arxml');
updateAUTOSARProperties(ar,modelName);
### Updating model autosar_swc
### Saving original model as autosar_swc_backup.slx
### Creating HTML report autosar_swc_update_report.html

此示例说明使用根路径 /ExternalElements/CompuMethods/RpmCm 和 /AUTOSAR_PlatformTypes/ImplementationDataTypes/uint16 指定的两个 AUTOSAR 元素更新模型的函数调用语法。

open_system('mySWC')
ar = arxml.importer('ExternalElements.arxml');
updateAUTOSARProperties(ar,'mySWC','RootPath',{'/ExternalElements/CompuMethods/RpmCm',...
                           '/AUTOSAR_PlatformTypes/ImplementationDataTypes/uint16'});

此示例说明将 AUTOSAR 软件寻址方法的 XML 定义作为读/写元素导入的函数调用语法。默认情况下,该函数将 AUTOSAR 元素导入为只读定义,这会阻止更改。

open_system('mySWC')
ar = arxml.importer('SwAddressMethods.arxml');
updateAUTOSARProperties(ar,'mySWC','ReadOnly',false);

此示例说明使用来自包 /AUTOSAR_PlatformTypes/CompuMethods 的 AUTOSAR 元素更新模型的函数调用语法。

open_system('mySWC')
ar = arxml.importer('ExternalElements.arxml');
updateAUTOSARProperties(ar,'mySWC','Package',{'/AUTOSAR_PlatformTypes/CompuMethods'});

此示例说明使用类别为 ImplementationDataType 的 AUTOSAR 元素更新模型的函数调用语法。导入 ImplementationDataType 元素还会导入依赖元素,例如 SwBaseType 元素。

open_system('mySWC')
ar = arxml.importer('ExternalElements.arxml');
updateAUTOSARProperties(ar,'mySWC','Category',{'ImplementationDataType'});

输入参数

全部折叠

先前从 XML 文件导入的 AUTOSAR 信息,指定为 arxml.importer 对象句柄。

要使用与 arxml.importer 对象关联的 XML 文件中的 AUTOSAR 元素定义来更新的打开模型的名称。

示例: 'mySWC'

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'Category',{'ImplementationDataType'} 指示导入器使用类别为 ImplementationDataType 的 AUTOSAR 元素更新模型。

要从中导入元素的一个或多个 AUTOSAR 元素类别。

示例: 'Category',{'ImplementationDataType'}

要从中导入元素的一个或多个 AUTOSAR 元素包的路径。

示例: 'Package',{'/AUTOSAR_PlatformTypes/CompuMethods'}

要细化类别或包导入,您可以同时指定要从中导入元素的类别和包。例如:

'Category',{'ImplementationDataType'}, ...
'Package',{'/AUTOSAR_PlatformTypes/ImplementationDataTypes'}

指定是将导入的元素视为只读(默认值)从而阻止定义更改,还是视为读/写。

示例: 'ReadOnly',false

要导入的一个或多个特定 AUTOSAR 元素的根路径。

示例: 'RootPath',{'/ExternalElements/CMs/RpmCm','/AUTOSAR_PlatformTypes/IDTs/uint16'}

与应用程序数据类型元素关联的一个或多个 AUTOSAR 数据类型映射集的路径。

示例: {'/AUTOSAR_PlatformTypes/DataTypeMappingSets/MapSet1'}

在更新 AUTOSAR 属性时打开 AUTOSAR 更新报告的选项,指定为 "on" 或 "off"。

  • "on" - 报告打开。

  • "off" - 报告不打开。

示例: updateAUTOSARProperties(ar,"myControllerModel","OpenReport","off")

版本历史记录

在 R2019a 中推出

全部展开