Main Content

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

从外部文档导航到 Simulink 对象

RMI 包含多种函数,可以简化在外部文档中创建导航界面。显示您的文档的外部应用程序必须支持用于与 MATLAB® 软件通信的应用程序编程接口 (API)。

提供唯一的对象标识符

每当您为 Simulink® 或 Stateflow® 对象创建需求链接时,RMI 都会使用该对象的全局唯一标识符。该标识符标识了该对象。如果您重命名或移动对象,或者添加或删除需求链接,则标识符不会改变。RMI 仅使用唯一标识符来解析模型内的对象。

使用 rmiobjnavigate 函数

rmiobjnavigate 函数识别 Simulink 或 Stateflow 对象,突出显示该对象,并将编辑器窗口移到屏幕前面。当您从外部应用程序导航到Simulink模型时,调用此函数。

第一次导航到特定模型中的项目时,您可能会遇到轻微的延迟,因为软件会初始化通信 API 和内部数据结构。您在后续导航中不会感受到长时间的延迟。

确定导航命令

要为 Simulink 或 Stateflow 对象创建需求链接,请在 MATLAB 提示符下使用以下命令查找导航命令,其中 obj 是对象的句柄或唯一解析的名称:

[ navCmd, objPath ] = rmi('navCmd', obj);

navCmd方法的返回值为:

  • navCmd - 由 MATLAB 软件评估时导航到对象的字符向量。

  • objPath - 标识模型对象的字符向量。

从外部应用程序导航到Simulink模型中的对象obj时,将navCmd发送到MATLAB软件进行评估。使用objPath在需求文档中直观地识别目标对象。

使用 ActiveX 导航控件

RMI 使用包含特殊 Microsoft® ActiveX® 控件的软件,以便从 Microsoft Word 和 Excel® 文档导航到 Simulink 对象。您可以在任何其他支持 ActiveX 的应用程序中使用此相同的控件。

该控件源自一个按钮,并具有Simulink图标。有两个实例属性定义控件的工作方式。tooltipstring属性显示在控件工具提示中。MLEvalCmd属性是您点击控件时传递给 MATLAB 软件进行评估的字符向量。

建立导航控件的典型代码序列

当您创建外部工具的接口时,您可以自动执行建立链接的过程。这样,您就不需要手动更新对话框字段。这种自动化是某些内置类型(例如 Microsoft Word 和 Excel 文档)的基于选择的链接的一部分。

要自动执行建立链接的过程:

  1. 选择一个 Simulink 或 Stateflow 对象和外部文档中的一个项目。

  2. 从 Simulink 菜单或命令或外部应用程序中的类似机制调用链接创建操作。

  3. 使用外部工具的脚本功能识别文档和当前项目。将此信息传递给MATLAB软件。使用 RMI API 在选定对象上创建需求链接,如下所示:

    1. 使用以下命令创建一个空的链接结构体:

      rmi('createempty')
    2. 根据需求文档中的目标位置填写链接结构体字段。

    3. 使用以下命令将链接附加到对象:

      rmi('cat')
  4. 使用 navCmd 方法确定必须嵌入外部工具的 MATLAB 导航命令:

    [ navCmd, objPath ] = rmi('navCmd',obj)

  5. 使用外部工具的脚本功能在外部文档中创建导航项。在属性中设置MATLAB导航命令。

    当使用外部工具提供的 ActiveX导航对象时,将 MLEvalCmd属性设置为 navCmd,将 tooltipstring属性设置为 objPath

您将此过程的 MATLAB 代码实现定义为链接类型定义文件中的 SelectionLinkFcn 函数。文档接口定义的例子可以查看fullfile(matlabroot,"toolbox","slrequirements","slrequirements","linktype_examples")目录下内置的文档接口定义:

  • linktype_rmi_doors.m

  • linktype_rmi_excel.m

  • linktype_rmi_html.m

  • linktype_rmi_text.m