主要内容

本页采用了机器翻译。点击此处可查看英文原文。

分解和重用组件

架构模型中的每个组件都可以有自己的设计,甚至可以有多个设计方案。这些设计可以是 System Composer™ 中建模的架构,也可以是 Simulink® 中建模的行为。工程系统通常在多个地方使用相同的组件设计。一个通用组件(如电源开关)可以是所有电气组件的一部分。您可以在同一模型内以及不同架构模型中重用 System Composer 中的组件。

架构引用如何使用更多信息
System Composer 模型引用使用链接的架构模型定义组件层次结构,以便在架构组件中轻松重用这些定义。创建架构模型引用
System Composer 子系统引用

使用链接的架构子系统定义组件层次结构,以便在架构组件之间轻松重用这些定义。

子系统支持与 Simscape™ 物理行为一起使用的根级物理端口。

创建架构子系统引用

提示

要了解更多关于 System Composer 概念在系统工程设计中的应用,请参阅System Composer 概念

分解组件

组件可以拥有自己的架构。双击组件可查看或编辑其架构。在此级别查看组件时,其端口将显示为架构端口。使用模型浏览器查看组件层次结构。

Two components named GPS and Gyro within the Sensor component.

您可以在该级别添加组件、端口和连接以定义架构。

您还可以从一组组件创建一个新的 Component 模块。

  1. 选择组件。点击并拖动一个矩形,或按住 Shift 按钮选择多个组件。

    Selected components are surrounded by a light blue highlight.

  2. 右键点击选中的元素,选择基于所选内容创建组件,创建一个组件。

Selected component surrounded by light blue highlight.

因此,新组件将所选组件、其端口和连接作为其架构的一部分。未连接的端口和选择范围之外的组件连接将成为新组件上的端口。

任何具有自己架构的组件都会显示其内容的预览。

创建架构引用

架构引用提供了一个结构,用于创建分层架构系统,并使用 System Composer 中的组件、端口和连接器范例进一步定义子系统。一些工程在多个地方使用相同的详细组件。此类组件的设计必须进行严格管理。您可以创建架构引用,以在同一架构模型或多个架构模型中重用组件的架构定义。

创建架构模型引用

使用以下步骤创建架构引用模型:

  1. 右键点击 Sensor 组件,然后选择另存为架构模型。然后,从类型列表中选择模型引用

  2. 为模型命名。默认情况下,引用的架构模型保存在与架构模型相同的文件夹中。如果要将引用模型保存到其他文件夹,请浏览或输入完整路径。

    Save component as architecture model or subsystem dialog with new model name SensorRef.

  3. 该软件使用提供的名称创建一个架构模型,并将组件链接到新模型。链接的模型在组件名称中的 <> 符号之间表示。

    Model with component named Sensor with the referenced model Sensor Ref between the chevrons.

    所有架构模型都可以通过链接组件引用这个新架构模型。

创建架构子系统引用

您可以将架构子系统引用链接到组件。与模型引用不同,子系统引用支持顶层物理端口。子系统通过灵活的继承端口,改进了自上而下的编辑工作流。架构子系统引用包含可共享的架构模型和可选的 Simscape 行为。有关实现 Simscape 行为的信息,请参阅使用 Simscape 实现组件行为

注意

要在带有接口的架构子系统上键入端口,必须链接一个外部接口数据字典。架构子系统不包含模型工作区。有关详细信息,请参阅使用数据字典管理接口

通过将现有的 System Composer 架构子系统文件链接到组件,或从转换后的组件保存新的架构子系统,创建架构子系统引用。子系统引用保存在与父级 System Composer 架构模型不同的文件中。使用以下步骤从转换后的组件保存一个新的架构子系统:

  1. 右键点击 Motor 组件,然后选择另存为架构模型。然后,从类型列表中选择子系统引用

  2. 为子系统命名。默认情况下,引用的架构子系统保存在与架构模型相同的文件夹中。如果要将引用的子系统保存在另一个文件夹中,请浏览或键入完整路径。

    Save component as architecture model or subsystem dialog with new subsystem name MotorRef.

  3. System Composer 使用提供的名称创建一个架构子系统,并将组件链接到新模型。链接的子系统在组件名称中的 <> 符号之间表示,该组件的右上角有一个 subsystem 图标。

    Model with component named Sensor with the referenced model Sensor Ref between the chevrons.

    所有架构模型都可以通过链接组件引用这个新的架构子系统。

架构子系统引用组件可以作为对单独的 System Composer 子系统文件的引用来实现,并在架构模型中多次重用。与架构子系统关联的每个组件都是唯一的,因此,当物理端口设置为“继承”时,物理端口的每个实例都可以使用不同的物理域。

架构子系统引用支持具有物理接口的物理端口。您可以将 Simscape 行为添加到成为 Simulink 子系统引用或 Simulink 子系统组件的子组件。有关详细信息,请参阅使用 Simscape 实现组件行为

将引用组件拖动到架构模型中

您可以拖动将链接到模型或子系统的引用组件添加到 System Composer 模型中。从文件资源管理器中拖动模型或子系统文件,将引用组件添加到架构模型画布。

例如,将 SLX 模型文件拖入架构模型画布,就会添加一个 Reference Component 模块,该模块将引用 SLX 文件中的模型。

Animation of an mWheel component file being dragged from the file explorer and added to the canvas to create a linked reference to a model

要拖动添加的文件必须位于 MATLAB® 路径下。不支持通过将文件从 MATLAB 编辑器拖入模型画布来创建引用组件。

使用架构引用

您可以通过从组件链接到单独文件中保存的架构模型引用来使用该模型。右键点击组件,然后选择链接到模型。您还可以直接在元素调色板中使用创建引用选项来创建使用引用架构的组件。

要将选定的组件链接到现有架构模型,请右键点击 Trajectory Planning 组件,然后选择链接到模型

提供引用的架构模型的完整路径。如果链接的组件有自己的端口和组件,则此内容将在链接过程中被删除,并替换为引用的架构的内容。链接组件的端口成为引用架构中的架构端口。

After linking the model, a referenced model appears between the chevrons called 'planning algorithm'.

架构模型引用中的任何更改都会立即反映在链接到该引用的模型中。如果移动或重命名引用的架构,链接将失效,链接的组件将显示错误。将组件链接到有效的架构模型引用。

删除架构引用

在某些情况下,您必须偏离单个组件的架构模型引用。例如,从本地组件引用的综合传感器模型可能包含太多功能,对于当前的运动控制架构而言过于复杂,因此需要针对该架构进行简化。在这种情况下,您可以删除引用架构以进行本地更改。右键点击一个链接组件,然后选择内联模型

The referenced model Trajectory Planning with a right-click menu option selected 'Inline Model'.

此操作提供两个选项:

  • 接口和子组件 - 引用架构的端口、接口和子组件被复制到组件中。

  • 仅接口 - 引用架构的端口和指定接口反映在组件上,但组成部分为空白。

删除架构模型引用后,您就可以进行更改而不会影响其他架构。但是,您无法将本地更改传播到架构模型引用。如果您再次链接到引用的架构,本地更改将丢失。

从组件创建软件架构

您可以从 System Composer 架构模型中的组件创建软件架构模型,并从该组件引用软件架构模型。您可以使用软件架构将 Simulink 导出函数、基于速率或 JMAAB 模型链接到架构模型中的组件,以进行仿真和生成代码。有关详细信息,请参阅将架构导出为软件架构

从组件创建 AUTOSAR 架构

您可以从 System Composer 架构或软件架构模型中的组件创建 AUTOSAR 架构模型,并从该组件引用 AUTOSAR 架构模型。有关详细信息,请参阅Create AUTOSAR Architecture from System Composer Model (AUTOSAR Blockset)

另请参阅

函数

模块

主题