主要内容

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

创建带接口和需求链接的架构模型

在本主题中,您将学习如何使用 System Composer™ 创建机械臂的架构模型、在端口上定义接口,以及向组件添加需求链接。

您将学习如何:

  • 启动 System Composer。

  • 添加架构组件以表示机械臂传感器、轨迹规划及其运动。

  • 创建端口和连接以表示数据交换。

  • 定义数据接口以表示数据结构。

  • 管理需求链接,以表示与模型元素的需求之间的连接。

需要 Requirements Toolbox™ 许可证才能在 System Composer 中链接、追踪和管理需求。

有关 System Composer 中基于模型的系统工程工作流的详细信息,请参阅使用架构模型构建和分析系统

可视化系统表示

实现架构设计首先需要使用组件及其连接来直观地表示系统。创建架构模型,表示系统组件,并绘制它们之间的连接。

创建架构模型

  1. 在 MATLAB® 命令行窗口中输入以下命令。

    systemcomposer

    Simulink® 起始页面打开为 System Composer。

  2. 点击架构模型

    Accessing a new System Composer architecture model from the Simulink start page.

    System Composer 提供模板架构模型,可应对系统工程和软件架构建模中的不同领域:架构模型软件架构模型。所有架构模型都提供相同的结构功能,但有一些领域和平台特定的约束。有关架构模板的详细信息,请参阅选择系统设计的架构模板

    一个新的空白架构模型画布打开。您可以通过左下角的徽章和左侧的组件面板来识别架构模型。

    A new untitled architecture model in System Composer.

  3. 双击架构模型标题,将 untitled 更改为一个描述性的模型名称,例如 RobotDesign。模型的名称通常反映您正在构建的系统的架构。

    Renamed architecture model called 'Robot'.

  4. 保存模型。

绘制组件

设计一个移动机械臂,通过传感器感应位置,并通过轨迹规划计算机器人需要到达的位置的路径。此类系统的架构模型可由三个主要组件组成:SensorsTrajectory PlanningMotion。您可以使用三个 Component 模块在 System Composer 中表示这些组件。

  1. 从左侧调色板中点击并拖动一个 Component 模块 component block icon

    Click and drag a component from the left-side palette to add it to the architecture model.

  2. 将组件重命名为 Sensors

  3. 按照以下步骤创建 Trajectory PlanningMotion 组件。

    An architecture model called 'Robot' with three components

创建端口和连接

您可以通过描述电力、能量、数据或任何其他代表性信息的流动来开始在组件之间建立连接。在提供或使用信息的组件上创建端口,并在两个组件端口之间创建连接器,以表示信息流。

您可以在任何一侧的组件上添加端口,端口可以是输入或输出方向。要创建端口,请将光标悬停在组件侧。点击并释放以查看端口选项。选择 InputOutputPhysical 以创建端口。使用代表通过该端口流过的信息的名称重命名端口。

  1. 在“传感器”组件的底部创建一个输出端口。将其重命名为 SensorData

    'Robot' architecture model with a downward facing output port below the 'Sensors' component called 'Sensor Data'.

  2. 点击并拖动一条线从 SensorData 输出端口到 Motion 组件。当您看到组件侧创建了一个输入端口时,请释放指针。默认情况下,新端口与源端口具有相同的名称。

  3. SensorData 线的拐角处暂停,直到看到分支图标 branch icon。右键点击并拖动一条分支线到 Trajectory Planning 组件。

    'Robot' architecture model with a 'Sensor Data' connection out-port from the 'Sensors' component connected to two in-ports into the 'Trajectory Planning' and 'Motion' components.

  4. 按照图中所示完成所有连接。

    To the 'Robot' architecture model, add a 'Motion Command' connection from the 'Trajectory Planning' component to the 'Motion' component, and an 'Encoder' connection from the 'Motion' component to the 'Sensors' component.

架构模型的根级别还可以有端口,描述系统与其环境之间的交互。在此示例中,机器人的目标位置由机器人外部的计算机提供。用输入端口表示这种关系。

  1. 点击架构模型的左侧边缘,输入端口名称 TargetPosition

  2. 通过从 TargetPosition 输入端口到 Trajectory Planning 组件拖动一条线,将架构端口连接到组件。连接到架构端口或来自架构端口的连接显示为标签。

    Final 'Robot' model has an architecture port connected from the 'Trajectory Planning' component to the 'Target Position' input port.

编辑数据接口

您可以定义一个数据接口来完全指定连接及其关联端口。数据接口可以由多个具有不同维度、单位和数据类型的数据元素组成。要检查连接端口时的一致性,您还可以在组件设计期间将接口与未连接的端口关联起来。

通过配置数据接口的属性,指定组件之间通过端口的信息流。数据接口可以简单地发送一个整数值,但也可以是一组数字、一个枚举、数字和字符串的组合,或者一组其他预定义接口。

考虑 SensorsMotion 组件之间的数据接口。传感器数据包括:

  • 两个电机的位置数据

  • 两个传感器测得的障碍物距离数据

  • 时间戳用于记录数据的最新时间。

  1. 要打开接口编辑器,请导航至 建模 > 接口编辑器

  2. 点击 add interface 按钮添加数据接口。将接口命名为 sensordata

    数据接口与组件端口分开命名和定义,然后分配给端口。

  3. 点击 Sensors 组件上的 SensorData 输出端口。在接口编辑器中,右键点击 sensordata,然后选择分配给选定端口

    再次点击 sensordata,三个 SensorData 端口将被高亮显示,表明连接的端口与该接口相关联。

    Model with three 'Sensor Data' ports highlighted in purple.

  4. 将数据元素添加到所选数据接口。点击 add data element 按钮添加一个数据元素,并将其命名为 timestamp

  5. 按照要求点击“添加数据元素”按钮,继续向数据接口添加数据元素。

    名称类型单位
    timestampdoubleseconds
    direction1doubledegrees
    direction2doubledegrees
    distance1doublemeters
    distance2doublemeters
    position1doubledegrees
    position2doubledegrees
  6. 编辑接口编辑器中数据元素的属性。点击表中与数据元素相对应的单元格,并按照规格要求添加单位。

    点击 save to data dictionary 按钮旁边的下拉列表,将数据接口保存到数据字典中。数据字典允许您集中管理和共享模型之间的接口集。例如,在设计后期,如果您选择将外部计算机建模为单独的架构模型,则该模型与 Robot 模型可以共享相同的数据字典。这里,字典被保存为 RobotDD

    The Robot DD dictionary with interface named 'sensor data' and interface elements named 'time stamp', 'direction 1', direction 2', distance 1', distance 2', 'position 1', and 'position 2.

分解组件

每个组件都可以有自己的架构。双击一个组件将其分解为其子组件。

  1. 双击 Trajectory Planning 组件。资源管理器栏和模型浏览器表示组件在模型层次结构中的位置。

    The inside of the 'Trajectory Planning' component shows three architecture ports called 'Target Position, 'Sensor Data', and 'Motion Command'.

    该组件首先使用 sensordata 接口中的电机位置数据计算理想位置和速度命令。然后,它在相同的接口中处理障碍物距离信息,根据一些安全规则对该运动命令进行条件处理。

  2. Motion ControlSafety Rules 组件作为 Trajectory Planning 架构的一部分添加。

    TargetPosition 端口拖动到 Motion Control 组件。将命令输出端口添加到 Motion Control,然后将一条线拖到 Safety Rules 组件。将线从 SensorData 端口拖到 Motion ControlSafety Rules 组件。

    Port connections for the 'Trajectory Planning' component.

机械臂架构模型

打开一个由传感器、运动作动器和规划算法组成的机械臂的架构模型。您可以使用 System Composer 查看该模型的接口并管理其需求。

管理需求链接

需求是系统工程过程不可或缺的一部分。一些需求与整个系统的功能有关,一些需求与性能方面有关,如功率、尺寸和重量。将高级需求分解为低级需求并推导出附加需求,对于定义整体系统架构至关重要。例如,机器人的总功耗决定了机器人控制器的功耗需求。

为了使用系统元素分配和追踪需求,System Composer 与 Requirements Toolbox 完全集成。为了得出适当的需求,有时必须分析和指定系统元素(包括组件、端口或连接器)的属性(例如功率)。例如,如果系统的总成本是一个问题,则需要一个 unitPrice 属性。

使用 Requirements Toolbox 在 System Composer 的“需求透视”中管理需求。导航至 App > 需求管理器。有关详细信息,请参阅在 Simulink 中查看和链接需求 (Requirements Toolbox)

Requirements perspective showing requirement list and requirement links on components in the model.

为了增强需求的可追溯性,将需求与架构组件和端口关联起来。当您在“需求透视”中点击一个组件时,相关的关联需求会被突出显示。相反,当您点击一个需求时,将显示相关的组件。要直接创建链接,请将需求拖动到组件或端口上。

另请参阅

主题