主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

createComponentAsModel

创建 AUTOSAR ARXML 原子软件组件的 Simulink 表示

说明

[model,status] = createComponentAsModel(ar,ComponentName) 创建一个与 AUTOSAR 原子软件组件 ComponentName 对应的 Simulink® 模型,并返回由 model 表示的模型句柄,以及由 status 表示的指示操作是否成功的状态。

组件描述是先前从 AUTOSAR XML (ARXML) 文件导入的 AUTOSAR 信息的一部分,这些文件由 arxml.importer 对象 ar 表示。导入器创建导入的 AUTOSAR 组件的初始 Simulink 表示,其中包含 Simulink 模型元素到 AUTOSAR 组件元素的初始默认映射。此初始表示可作为起点来进行进一步的 AUTOSAR 配置和基于模型的设计。有关详细信息,请参阅 AUTOSAR ARXML 导入器

所创建模型中 AUTOSAR 组件行为的初始表示取决于 ARXML 描述:

  • 如果组件的 ARXML 描述未描述组件行为,导入器会使用 AUTOSAR 可运行实体和端口的默认表示创建一个模型。

  • 如果组件的 ARXML 描述对组件行为进行了描述,导入器会根据在组件中访问的 AUTOSAR 元素创建一个模型。

    例如,AUTOSAR 端口必须由可运行实体访问才能生成对应的 Simulink 元素。如果 ARXML 中的发送方-接收方或客户端-服务器端口未由可运行实体访问,导入器不会创建对应的输入端口、输出端口或 Simulink 函数。

示例

[model,status] = createComponentAsModel(ar,ComponentName,Name=Value) 使用一个或多个名称-值参量指定选项。例如,要指示导入器将 AUTOSAR 周期性可运行实体建模为具有周期性速率的原子子系统,请将 ModelPeriodicRunnablesAs 设置为 "AtomicSubsystem"

示例

全部折叠

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。将 AUTOSAR 周期性可运行实体建模为具有周期性速率的原子子系统。

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="AtomicSubsystem");

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。将 AUTOSAR 周期性可运行实体建模为具有周期性速率的函数调用子系统。

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="FunctionCallSubsystem");

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。将与 AUTOSAR 数据类型对应的 Simulink 数据对象导入数据字典 ardata.sldd

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="AtomicSubsystem", ...
  DataDictionary="ardata.sldd");

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。将 AUTOSAR 可运行实体 Runnable_Init 配置为组件的初始化可运行实体。

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="AtomicSubsystem", ...
  InitializationRunnable="Runnable_Init");

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。使用预定义变体 Senior 在模型创建时解析组件中的变化点。

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="AtomicSubsystem", ...
  PredefinedVariant="/pkg/body/Variants/Senior");

从 ARXML 文件 mySWC.arxml 导入 AUTOSAR 软件组件 /pkg/swc,并创建该组件的初始 Simulink 表示。使用系统常量值集 AB 在模型创建时解析组件中的变化点。

ar = arxml.importer("mySWC.arxml");
createComponentAsModel(ar,"/pkg/swc",ModelPeriodicRunnableAs="AtomicSubsystem", ...
  SystemConstValueSets={"/pkg/body/SystemConstantValues/A","/pkg/body/SystemConstantValues/B"});

输入参数

全部折叠

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

原子软件组件的绝对短名称路径,指定为字符向量或字符串标量。

示例: "/Company/Powertrain/Components/ASWC"

名称-值参数

全部折叠

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

示例: createComponentAsModel(ar,"/pkg/swc/",ModelPeriodicRunnablesAs="AtomicSubsystem")

将 ARXML 文件中对应于 AUTOSAR 数据类型的数据对象导入的 Simulink 数据字典,指定为字符向量或字符串标量。如果指定的字典不存在,导入器会创建它。然后将模型链接到该数据字典。

示例: DataDictionary="ardata.sldd"

选择作为组件的初始化可运行实体的现有 AUTOSAR 可运行实体的名称,指定为字符向量或字符串标量。

示例: InitializationRunnable="Runnable_Init"

周期性可运行实体的子系统类型,指定为 "AtomicSubsystem""FunctionCallSubsystem""Auto"。默认情况下,createComponentAsModel 导入在 ARXML 文件中找到的 AUTOSAR 周期性可运行实体,并将其建模为具有周期性速率的原子子系统。如果条件阻止使用原子子系统,导入器会引发错误。

要将周期性可运行实体建模为具有周期性速率的函数调用子系统,请指定 "FunctionCallSubsystem"

如果指定 "Auto",导入器会尝试将周期性可运行实体建模为原子子系统。如果条件阻止使用原子子系统,导入器会将周期性可运行实体建模为函数调用子系统。

有关详细信息,请参阅Import AUTOSAR Software Component with Multiple Runnables

示例: ModelPeriodicRunnablesAs="AtomicSubsystem"

ARXML 文件中预定义变体的路径,指定为字符向量元胞数组或字符串数组。预定义变体描述要应用于 AUTOSAR 软件组件的可能多个有效系统常量值组合之一。使用此参量在模型创建时解析 AUTOSAR 软件组件中的变化点。如果指定,导入器将使用预定义变体来初始化作为控制变化点输入的软件系统常量数据。

有关详细信息,请参阅Control AUTOSAR Variants with Predefined Value Combinations

示例: PredefinedVariant="/pkg/body/Variants/Senior"

ARXML 文件中定义的一个或多个系统常量值集的路径。系统常量值集指定要应用于 AUTOSAR 软件组件的一组系统常量值。使用此参量在模型创建时解析 AUTOSAR 软件组件中的变化点。如果指定,导入器将使用系统常量值集初始化作为控制变化点输入的系统常量数据。

有关详细信息,请参阅Control AUTOSAR Variants with Predefined Value Combinations

示例: SystemConstValueSets={'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'}

使用总线元素端口(而不是 Simulink 输入端口和输出端口)进行基于端口的发送方-接收方通信的选项,指定为数值或逻辑值 1 (true) 或 0 (false)。

示例: UseBusElementPorts=true

数据类型: logical

将客户端-服务器端口作为 Simulink 函数端口导入的选项,指定为数值或逻辑值 1 (true) 或 0 (false)。

  • true - 使用作用域限于端口的 Simulink 函数和函数调用方。

  • false - 使用全局 Simulink 函数和函数调用方。

示例: UseFunctionPorts=true

数据类型: logical

将 AUTOSAR 数据类型作为 Simulink.ValueType 数据类型对象导入的选项,指定为数值或逻辑值 1 (true) 或 0 (false)。

示例: UseValueTypes=true

数据类型: logical

输出参量

全部折叠

对应于指定的 AUTOSAR 原子软件组件 ComponentName 的模型句柄。

导入的成功或失败状态,返回为以下值之一:

  • true - 导入成功。

  • false - 导入不成功。

提示

  • 如果调用 arxml.importer 对象函数时未使用终止分号,导入器会列出指定 ARXML 文件的 AUTOSAR 内容。这些信息包括 AUTOSAR 包结构中软件组件的路径,您可以在调用 createComponentAsModelimportFromARXML 时指定这些路径。

  • 在将 AUTOSAR 软件组件导入模型时,建议显式指定 ModelPeriodicRunnablesAs 参量。

版本历史记录

在 R2008a 中推出

全部展开