以编程方式突出显示 Simulink 中的对话框选项

Programmatically highlight dialog option in Simulink

在 Simulink 中,某些错误消息提供指向错误来源的可点击链接。

例如,请参阅以下错误:

如果我单击消息中的三个链接之一,例如 Parent setting,Simulink 打开代码生成设置对话框并使用蓝色边框指示特定设置:

作为用户,我能否以编程方式实现相同的突出显示(使用 .m-脚本)?如果可以,怎么做?

是的,这是可能的,但它需要使用 Simulink 内部支持功能。他们的 API 没有记录,因此可能不稳定。使用风险自负。

题目中的高亮是这样实现的:

slprivate('modelref_highlight_configset_setting', 'rtwdemo_capi', 'RTWCAPISignals')

这里,

  • slprivate 是 Simulink 附带的 .m 函数。该函数没有帮助条目。它在帮助中唯一提到的是 'Set Simulink Preferences' help page. Its implementation is simple: it is a wrapper around feval。可以通过从 Matlab 命令 window.

    执行命令 >> edit slprivate 打开该实现

    函数说明如下:

    slprivate is a gateway for internal support functions used by Simulink.

      VARARGOUT = slprivate('FUNCTION_NAME', VARARGIN)
    
  • 在上面的用法中,第一个参数'modelref_highlight_configset_setting',是Simulink内部支持函数。在这种情况下,它是突出显示的功能。

  • 第二个参数'rtwdemo_capi',是Simulink模型的名称,其配置参数window应该打开突出显示。
  • 第三个参数'RTWCAPISignals'是要突出显示的配置选项的名称。在本例中,该选项突出显示了两个 UI 元素。

    配置选项名称如下:

    1. 打开模型的配置参数window(例如在 Simulink 中:菜单 Simulation -> Model Configuration Parameters,或 Ctrl + E)
    2. 右键单击(或者更确切地说,在旁边)选项
    3. 在出现的上下文菜单中,单击 What's This?
    4. 在出现的帮助 window 中,向下滚动到 Command-Line Information。选项的名称在 Parameter 字段中给出。

编辑:

我想出的方法可能对其他内部功能有用,所以我也将其保留在这里。如果构建是从命令 Window (>> rtwbuild('rtwdemo_capi')) 而不是从 GUI 开始的,警告和错误消息也会打印到命令 window,包括可点击 links。如果然后用鼠标指针悬停在这样的 link 上,相应的命令将显示在 Matlab 状态栏中(在主 Matlab window 的底部)。