Main Content

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

库模块和引用模块的需求链接

库模块和引用模块简介

Simulink® 允许您创建自己的模块库。如果您创建一个模块库,您可以在多个模型中重用模块、子系统或 Stateflow® 原子子图的功能。

当您将库模块复制到 Simulink模型时,新模块被称为引用模块。您可以在一个或多个模型中创建此库模块的多个实例

引用模块使用库链接链接到库模块。如果您更改了库模块,则当您打开或更新包含引用模块的模型时,任何链接到该库模块的引用模块都将根据这些更改进行更新。

注意

有关引用模块和库链接的更多信息,请参阅自定义库 (Simulink)

库模块和需求

库模块本身可以与需求有链接。此外,如果库模块是子系统或原子子图,则库模块内的对象可以具有库链接。您可以使用需求管理接口 (RMI) 来创建和管理库和模型中的需求链接。

以下部分介绍如何管理库模块和引用模块上和内部的需求链接。

复制具有需求的库模块

当您将库子系统或屏蔽模块复制到模型时,您可以突出显示、查看和导航库模块上以及库模块内的对象上的需求链接。但是,这些链接与该模型无关。链接与库一起存储,而不是与模型一起存储。

您不能从引用模块的上下文中添加、修改或删除库模块上的需求链接。如果禁用从引用模块到库模块的链接,则可以修改库模块内的对象的需求,就像在禁用库链接时修改其他模块属性一样。

管理引用模块的需求

您可以使用 RMI 来管理引用模块上的需求链接,就像任何其他模型对象一样。您可以在引用模块上查看和导航本地和库需求。

  • 本地创建的需求链接 - 可以在不改变库模块的情况下进行修改或删除:

    • 歧管绝对气压传感器

    • 大气流估计

  • 库模块上的需求链接 - 无法从引用模块的上下文中修改或删除:

    • 速度传感器

    • 节气门传感器

    • 氧传感器

管理引用模块内的需求

如果您的库模块是子系统或 Stateflow 原子子图,则可以在子系统或子图内部的对象上创建需求链接。如果禁用从引用模块到库的链接,则可以添加、修改或删除引用模块内对象上的需求链接。一旦禁用链接,RMI 就会将这些链接视为本地创建的链接。

当您对引用模块内的对象上的需求链接进行更改后,您可以解析该链接,以便将这些更改推送到库模块。下次您创建该库模块的实例时,所做的更改将被复制到该库模块的新实例中。

在引用模块内的对象上创建需求链接的工作流程是:

  1. 在库内有一个子系统 S1。将 S1 拖到模型上,创建一个新的子系统。该子系统是引用模块。

    The new subsystem reference block has a library link to the library block that it references.

  2. 禁用引用模块和库模块之间的库链接。在禁用链接以维护 RMI 数据的同时保持库加载。要禁用链接,请选择引用模块,然后在子系统选项卡中点击禁用链接

  3. 创建从引用模块内的对象到需求文档的链接。

    The reference block's library link is disabled and the reference block has a new link to a requirement in a requirements document.

    注意

    当从引用模块内部链接到需求时,您只能在一个方向创建一个链接:从模型到需求文档。RMI 不支持将导航对象插入到引用模块内对象的需求文档中。

  4. 解析引用模块和库模块之间的库链接:

    1. 选择引用模块。

    2. 子系统选项卡中,点击还原链接

    3. 操作列中,点击推送

    4. 点击确定解析与库模块的链接,并将新添加的需求推送到库模块内的对象。

      当您解析库模块和子系统之间的库链接时,Simulink 会将新的需求链接推送到库模块 S1。下图显示了从库模块 S1 内部到需求的新链接。

    The library link between the reference block and the library block is restored. The library block now has a link to the same requirement that the reference block has.

    注意

    如果您看到一条消息称库已被锁定,则必须先解锁该库,然后才能将更改推送到库模块。

  5. 如果您在另一个模型中重用库模块 S1(现在该模块具有带需求链接的对象),则新的子系统将包含一个链接到该需求的对象。

    A second reference block was created from the library block. It has a library link to the library block that it references, and a link to the same requirements that the library block links to.

从需求到库模块的链接

如果您有一个链接到库模块的需求,并且您将该库模块拖到模型,则该需求不会链接到引用模块;该需求链接到库模块。

例如,考虑您已经在库模块(下图中的 B1)和需求之间建立了双向链接的情况。

Library block B1 has a bidirectional link to a requirement in a requirements document.

当在模型中使用库模块 B1 时,您可以从引用模块导航到需求。但是,需求中的链接仍然只指向库模块 B1,而不是指向引用模块。

The reference block created from the library block B1 has a link to the requirement in the requirements document and a library link to the library block. However, the requirement does not have a link to the reference block.

如上一节所述,您可以在禁用库模块后在库模块实例内的对象上创建需求链接。但是,RMI 禁止您从需求文档创建到此类对象的链接,因为当您恢复库链接时,该链接将变为无效。