创建带接口和需求链接的架构模型
在本主题中,您将学习如何使用 System Composer™ 创建机械臂的架构模型、在端口上定义接口,以及向组件添加需求链接。
您将学习如何:
启动 System Composer。
添加架构组件以表示机械臂传感器、轨迹规划及其运动。
创建端口和连接以表示数据交换。
定义数据接口以表示数据结构。
管理需求链接,以表示与模型元素的需求之间的连接。
需要 Requirements Toolbox™ 许可证才能在 System Composer 中链接、追踪和管理需求。
有关 System Composer 中基于模型的系统工程工作流的详细信息,请参阅使用架构模型构建和分析系统。
可视化系统表示
实现架构设计首先需要使用组件及其连接来直观地表示系统。创建架构模型,表示系统组件,并绘制它们之间的连接。
创建架构模型
在 MATLAB® 命令行窗口中输入以下命令。
systemcomposer
Simulink® 起始页面打开为 System Composer。
点击架构模型。

System Composer 提供模板架构模型,可应对系统工程和软件架构建模中的不同领域:架构模型和软件架构模型。所有架构模型都提供相同的结构功能,但有一些领域和平台特定的约束。有关架构模板的详细信息,请参阅选择系统设计的架构模板。
一个新的空白架构模型画布打开。您可以通过左下角的徽章和左侧的组件面板来识别架构模型。

双击架构模型标题,将
untitled更改为一个描述性的模型名称,例如RobotDesign。模型的名称通常反映您正在构建的系统的架构。
保存模型。
绘制组件
设计一个移动机械臂,通过传感器感应位置,并通过轨迹规划计算机器人需要到达的位置的路径。此类系统的架构模型可由三个主要组件组成:Sensors、Trajectory Planning 和 Motion。您可以使用三个 Component 模块在 System Composer 中表示这些组件。
从左侧调色板中点击并拖动一个 Component 模块
。
将组件重命名为
Sensors。按照以下步骤创建
Trajectory Planning和Motion组件。
创建端口和连接
您可以通过描述电力、能量、数据或任何其他代表性信息的流动来开始在组件之间建立连接。在提供或使用信息的组件上创建端口,并在两个组件端口之间创建连接器,以表示信息流。
您可以在任何一侧的组件上添加端口,端口可以是输入或输出方向。要创建端口,请将光标悬停在组件侧。点击并释放以查看端口选项。选择 Input、Output 或 Physical 以创建端口。使用代表通过该端口流过的信息的名称重命名端口。
在“传感器”组件的底部创建一个输出端口。将其重命名为 SensorData。

点击并拖动一条线从 SensorData 输出端口到
Motion组件。当您看到组件侧创建了一个输入端口时,请释放指针。默认情况下,新端口与源端口具有相同的名称。在 SensorData 线的拐角处暂停,直到看到分支图标
。右键点击并拖动一条分支线到 Trajectory Planning组件。
按照图中所示完成所有连接。

架构模型的根级别还可以有端口,描述系统与其环境之间的交互。在此示例中,机器人的目标位置由机器人外部的计算机提供。用输入端口表示这种关系。
点击架构模型的左侧边缘,输入端口名称 TargetPosition。
通过从 TargetPosition 输入端口到
Trajectory Planning组件拖动一条线,将架构端口连接到组件。连接到架构端口或来自架构端口的连接显示为标签。
编辑数据接口
您可以定义一个数据接口来完全指定连接及其关联端口。数据接口可以由多个具有不同维度、单位和数据类型的数据元素组成。要检查连接端口时的一致性,您还可以在组件设计期间将接口与未连接的端口关联起来。
通过配置数据接口的属性,指定组件之间通过端口的信息流。数据接口可以简单地发送一个整数值,但也可以是一组数字、一个枚举、数字和字符串的组合,或者一组其他预定义接口。
考虑 Sensors 和 Motion 组件之间的数据接口。传感器数据包括:
两个电机的位置数据
两个传感器测得的障碍物距离数据
时间戳用于记录数据的最新时间。
要打开接口编辑器,请导航至 建模 > 接口编辑器。
点击
按钮添加数据接口。将接口命名为 sensordata。数据接口与组件端口分开命名和定义,然后分配给端口。
点击
Sensors组件上的 SensorData 输出端口。在接口编辑器中,右键点击sensordata,然后选择分配给选定端口。再次点击
sensordata,三个 SensorData 端口将被高亮显示,表明连接的端口与该接口相关联。
将数据元素添加到所选数据接口。点击
按钮添加一个数据元素,并将其命名为 timestamp。按照要求点击“添加数据元素”按钮,继续向数据接口添加数据元素。
名称 类型 单位 timestampdoublesecondsdirection1doubledegreesdirection2doubledegreesdistance1doublemetersdistance2doublemetersposition1doubledegreesposition2doubledegrees编辑接口编辑器中数据元素的属性。点击表中与数据元素相对应的单元格,并按照规格要求添加单位。
点击
按钮旁边的下拉列表,将数据接口保存到数据字典中。数据字典允许您集中管理和共享模型之间的接口集。例如,在设计后期,如果您选择将外部计算机建模为单独的架构模型,则该模型与 Robot模型可以共享相同的数据字典。这里,字典被保存为RobotDD。
分解组件
每个组件都可以有自己的架构。双击一个组件将其分解为其子组件。
双击
Trajectory Planning组件。资源管理器栏和模型浏览器表示组件在模型层次结构中的位置。
该组件首先使用
sensordata接口中的电机位置数据计算理想位置和速度命令。然后,它在相同的接口中处理障碍物距离信息,根据一些安全规则对该运动命令进行条件处理。将
Motion Control和Safety Rules组件作为Trajectory Planning架构的一部分添加。将 TargetPosition 端口拖动到
Motion Control组件。将命令输出端口添加到Motion Control,然后将一条线拖到Safety Rules组件。将线从 SensorData 端口拖到Motion Control和Safety Rules组件。
机械臂架构模型
打开一个由传感器、运动作动器和规划算法组成的机械臂的架构模型。您可以使用 System Composer 查看该模型的接口并管理其需求。

管理需求链接
需求是系统工程过程不可或缺的一部分。一些需求与整个系统的功能有关,一些需求与性能方面有关,如功率、尺寸和重量。将高级需求分解为低级需求并推导出附加需求,对于定义整体系统架构至关重要。例如,机器人的总功耗决定了机器人控制器的功耗需求。
为了使用系统元素分配和追踪需求,System Composer 与 Requirements Toolbox 完全集成。为了得出适当的需求,有时必须分析和指定系统元素(包括组件、端口或连接器)的属性(例如功率)。例如,如果系统的总成本是一个问题,则需要一个 unitPrice 属性。
使用 System Composer 在 Requirements Toolbox 的“需求透视”中管理需求。导航至 App > 需求管理器。有关详细信息,请参阅在 Simulink 中查看和链接需求 (Requirements Toolbox)。

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