主要内容

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

将接口分配给端口

端口接口在 System Composer™ 架构模型中传输端口之间的数据。接口中的数据元素描述了通过接口传输的数据的特征。数据元素可以描述数据接口的组成、传输的消息或组件之间共享的数据结构。

注意

如果 System Composer 中的连接端口具有兼容的接口类型和结构,则它们是兼容的。未分配接口的端口会自动从连接上的其他端口继承接口。要激活编译时接口兼容性检查,在工具栏上点击更新图。您可以使用 接口适配器 模块通过 Adapter 模块来协调连接两端不兼容的接口。

关于接口术语,请参阅定义组件之间的端口接口

本主题介绍如何:

  • 使用属性检查器将数据接口分配给单个端口,使用接口编辑器将数据接口分配给多个端口。

  • 管理属于端口本地且未在数据字典中共享的专属接口。

  • 同时将接口分配给多个端口。

  • 通过端口连接组件,并指定连接的源元素或目标元素。

  • 使用接口兼容性编辑时检查。

要管理数据字典中模型之间共享的接口,请参阅使用数据字典管理接口。有关物理接口的信息,请参阅指定端口上的物理接口

带接口的移动机器人架构模型

此示例显示了具有已定义接口的移动机器人硬件架构。

在属性检查器中将端口与接口关联

要一次将数据接口或值类型分配给一个端口,请使用属性检查器。要打开属性检查器,请导航至 建模 > 属性检查器。要显示 SensorData 端口属性,请在模型中选择该端口。展开接口,从名称列表中选择 sensordata,将 sensordata 接口与 SensorData 端口关联。

The Property Inspector is open. The sensor data interface is selected in the Interface list.

注意

新创建的端口默认具有 <inherit> 接口规范,以在架构设计的早期阶段支持未知接口。如果在另一个端口上指定了接口,则在构建架构时,<inherit> 指定将该接口传播到其他连接的端口。接口规范不会自动通过模型和子系统引用传播。

使用上下文菜单将接口分配给端口

接口编辑器中选择一个接口后,右键点击一个端口。如果所选接口与端口兼容,请选择应用选定接口: <接口名称> 将接口分配给该端口。如果端口已分配接口,右键点击端口时,可选择清除接口: <接口名称> 删除接口。

从架构画布中选择一个端口后,右键点击接口编辑器上的一个接口。要将接口分配给端口,请选择分配给选定端口

注意

您可以为通过 Reference Component 模块链接到 Simulink® 行为模型或子系统的 System Composer 组件应用构造型并为端口分配接口。在将构造型应用于组件之前,必须将配置文件导入到模型或子系统中。在将接口分配给端口之前,必须将数据字典导入模型或子系统。

定义端口本地的专属接口

您可以从属性检查器中的模型数据字典中选择值类型或数据接口,或者创建一个专属接口。专属接口是特定端口的专属接口,不在数据字典或模型字典中共享。创建一个专属接口,用于表示端口本地的值类型或数据接口。

注意

专属接口和值类型没有自己的名称,因为它们是端口本地变量,不会共享。专属接口的名称来源于端口名称。

使用属性检查器管理专属接口

您可以在属性检查器中编辑所专属接口的数据。选择 Docking 架构端口。在属性检查器中,进入接口,从名称列表中选择 <owned>

An owned interface in the Property Inspector.

默认情况下,专属接口 Docking 成为所属值类型。直接在属性检查器中编辑接口属性,或选择在接口编辑器中打开编辑所属值类型接口。

The owned value type in the Interface Editor for the Docking port.

要将拥有值类型转换为拥有数据接口,请点击 add data element 添加数据元素。

使用接口编辑器管理专属接口

您还可以仅从接口编辑器进行工作。选择名为 Feedback 的组件端口。在接口编辑器中,将字典视图更改为端口接口视图

The port interface view option in the Interface Editor.

点击 add data element 将数据元素添加到所属数据接口。

Owned data elements in port interface view in the Interface Editor.

要将所属数据接口转换为所属值类型,请将类型更改为 Feedback,然后更改为有效的 MATLAB® 数据类型,例如 double

将专属接口转换为共享接口

要将一个专属接口转换为共享接口,请右键点击具有该接口的端口,然后选择转换为共享接口。或者,使用 makeOwnedInterfaceShared 函数。

选择多个端口并分配数据接口

多个端口,无论是否连接,都可以使用相同的数据接口定义。当您将数据接口分配给一个端口时,该接口会自动传播到已连接的端口,前提是这些端口尚未被分配。为了简化批量分配,请选择多个端口,右键点击数据接口,然后选择分配给选定端口

要突出显示使用数据接口定义的端口,在接口编辑器中,右键点击接口名称,然后选择突出显示使用此接口的端口。要仅突出显示明确分配给端口的源接口,而不包括端口上的继承接口,请在接口编辑器中选择该接口。

The interface named 'sensor data' is selected in the Interface Editor. The ports that are associated with it are highlighted in purple in the model.

为端口指定源元素或目标元素

对于根架构与架构模型中的组件之间的连接,您可以向端口添加源元素或目标元素。

  1. 创建一个名为 Motor 的组件,并将其通过名为 MotionDataSpeedData 的端口连接到根架构。

  2. 定义数据接口 Wheel,其数据元素为 RotationSpeedMaxSpeed

  3. Wheel 数据接口分配给连接上的端口。

  4. 在组件上选择端口名称 MotionData。出现一个点和一个数据元素列表。从列表中选择源元素 RotationSpeed

  5. MaxSpeed 目标元素分配给 SpeedData 端口。

The interface element rotation speed is the source element for the motion data port on the motor component.

启用接口兼容性编辑时检查

编辑时检查会在您构建模型时报告警告,并需要 Simulink Check™ 许可证。接口兼容性的警告类型包括:

  • 如果将不同的接口分配给不同的端口,则数据字典中定义的共享接口在连接上的不同端口之间不兼容。

  • 如果值类型或数据元素的结构不同,则端口上本地定义的专属接口在连接上的端口之间不兼容。

要启用架构模型的编辑时检查,请导航至 建模 > 模型顾问 > 编辑时检查。选中编辑时检查复选框。

黄色高亮显示的连接器表示同一连接器上不同端口之间的接口不匹配。如果您点击警告符号,将看到编辑时间检查消息和操作建议。

Edit-time check for mismatched interfaces.

对于同一连接上不同端口上的不兼容接口(例如不同的数据接口),可以通过添加一个 Adapter 模块来定义接口映射来解决问题。

有关创建自定义编辑时检查的更多信息,请参阅Define Custom Edit-Time Checks that Fix Issues in Architecture Models (Simulink Check)

另请参阅

函数

模块

主题