从外部文档导航到 Simulink 对象
Requirements Toolbox™ 包含几个简化在外部文档中创建导航界面的功能。显示您的文档的外部应用程序必须支持用于与 MATLAB® 软件通信的应用程序编程接口 (API)。
提供唯一的对象标识符
每当您为 Simulink® 或 Stateflow® 对象创建需求链接时,Requirements Toolbox 都会使用该对象的全局唯一标识符。该标识符标识了该对象。如果您重命名或移动对象,或者添加或删除需求链接,则标识符不会改变。Requirements Toolbox 仅使用唯一标识符来解析模型内的对象。
使用 rmiobjnavigate
函数
rmiobjnavigate
函数识别 Simulink 或 Stateflow 对象,突出显示该对象,并将编辑器窗口移到屏幕前面。当您从外部应用程序导航到 Simulink 模型时,调用此函数。
第一次导航到特定模型中的项时,您可能会遇到轻微的延迟,因为软件会初始化通信 API 和内部数据结构。您在后续导航中不会感受到长时间的延迟。
确定导航命令
要为 Simulink 或 Stateflow 对象创建需求链接,请在 MATLAB 提示符下使用以下命令查找导航命令,其中 obj
是对象的句柄或唯一解析的名称:
[ navCmd, objPath ] = rmi('navCmd', obj);
navCmd
方法的返回值为:
navCmd
- 由 MATLAB 软件评估时导航到对象的字符向量。objPath
- 标识模型对象的字符向量。
从外部应用程序导航到 MATLAB 模型中的对象 navCmd
时,将 obj
发送到 Simulink 软件进行评估。使用 objPath
在需求文档中直观地识别目标对象。
使用 ActiveX 导航控件
Requirements Toolbox 使用包含特殊 Microsoft® ActiveX® 控件的软件,以便从 Microsoft Word 和 Simulink 文档导航到 Excel® 对象。您可以在任何其他支持 ActiveX 的应用程序中使用此相同的控件。
该控件源自一个按钮,并具有 Simulink 图标。有两个实例属性定义控件的工作方式。tooltipstring
属性显示在控件工具提示中。MLEvalCmd
属性是您点击控件时传递给 MATLAB 软件进行评估的字符向量。
建立导航控件的典型代码序列
当您创建外部工具的接口时,您可以自动执行建立链接的过程。这样,您就不需要手动更新对话框字段。这种自动化是某些内置类型(例如 Microsoft Word 和 Excel 文档)的基于选择的链接的一部分。
要自动执行建立链接的过程:
选择一个 Simulink 或 Stateflow 对象和外部文档中的一个项。
从 Simulink 菜单或命令或外部应用程序中的类似机制调用链接创建操作。
使用外部工具的脚本功能识别文档和当前项。将此信息传递给 MATLAB 软件。使用 Requirements Toolbox API 在选定对象上创建需求链接,如下所示:
使用以下命令创建一个空的链接结构体:
rmi('createempty')
根据需求文档中的目标位置填写链接结构体字段。
使用以下命令将链接附加到对象:
rmi('cat')
使用
navCmd
方法确定必须嵌入外部工具的 MATLAB 导航命令:[ navCmd, objPath ] = rmi('navCmd',obj)
使用外部工具的脚本功能在外部文档中创建导航项。在属性中设置 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