Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

指定模块属性

对于模型中的每个模块,您可以设置常规模块属性,例如:

  • 模块说明

  • 模块执行顺序

  • 模块注释

  • 模块回调函数

要设置模块属性,请使用 Property Inspector。当模块处于选中状态时,您可以在 Property Inspector 的 PropertiesInfo 选项卡上设置属性。也可以使用 Block Properties 对话框。

设置模块注释属性

在 Property Inspector 中,使用 Block Annotation 部分显示选定的模块参数在注释中的值。注释显示在模块图标下方。

在文本框中输入注释文本。您可以在注释中使用模块属性标记。属性值将替换模型注释中的标记。要显示可以在注释中使用的标记列表,请在文本框中键入 %。将显示对选定模块有效的参数。请参阅通用模块属性模块特定的参数

假设您为 Product 模块指定以下注释文本和标记:

Multiplication = %<Multiplication>
Sample time = %<SampleTime>

在 Simulink® Editor 中,模块显示以下注释:

您还可以通过编程方式创建模块注释。请参阅以编程方式创建模块注释

指定模块回调

使用 Callbacks 部分指定模块回调。回调是在发生特定的模型操作(如选择或删除模块)时执行的 MATLAB® 命令。有关回调的详细信息,请参阅针对自定义模型行为的回调

  1. 选择要为其设置回调的模块。

  2. 在 Property Inspector 的 Properties 选项卡上,在 Callbacks 部分选择要为其指定回调的函数。例如,选择 OpenFcn 以指定双击模块时的行为。

  3. 在文本框中,输入触发该模块函数时您希望执行的命令。

    将回调指定给某个函数之后,在函数列表中,该函数旁边将会显示一个星号。星号可以帮助您了解已经为哪些函数指定了回调。

    注意

    OpenFcn 回调添加到模块后,双击模块不会打开模块对话框。此外,选择了模块时,模块参数不会出现在 Property Inspector 中。要设置模块参数,请从模块上下文菜单中选择 Block Parameters

以编程方式设置模块回调

此示例说明如何使用 OpenFcn 回调在您双击模块时执行 MATLAB 脚本。例如,在 MATLAB 脚本中,您可以定义变量或打开仿真数据图。

要以编程方式创建回调,请选择要为其添加此属性的模块。然后,在 MATLAB 命令提示符下输入以下格式的命令:

set_param(gcb,'OpenFcn','myfunction')
在此示例中,myfunction 表示一个有效的 MATLAB 命令或者 MATLAB 搜索路径中的一个 MATLAB 脚本。

指定模块执行优先级和标记

在模块属性的 Advanced Properties 部分,您可以指定模块优先级,并通过为 Tag 属性指定值来标识该模块。

  • Priority - 指定该模块相对于模型中其他模块的执行优先级。

  • Tag - 为模块指定一个标识符。指定要为模块的 Tag 参数指定的文本。设置此属性有助于通过搜索的方式或使用 find_system 以编程的方式在模型中找到该模块。请参阅Explore Model Hierarchy

使用模块说明标识模块

Info 选项卡显示有关模块类型的信息。此说明信息由模块的作者提供。

您还可以在 Description 框中输入说明,以提供有关模块实例的信息。

  • 如果您添加了说明,则可以设置模型的显示,使其在您将鼠标指针悬停在模块上方时在工具提示中显示该说明。要启用此工具提示,请在 Debug 选项卡上,选择 Information Overlays > Description in Tooltip

  • Description 属性可帮助您通过搜索找到模块。请参阅 Simulink Editor

以编程方式创建模块注释

您可以使用模块的 AttributesFormatString 参数在模块下面显示指定的模块参数值。通用模块属性模块特定的参数中介绍了模块可以具有的参数。可以使用 Simulink set_param 函数将此参数设置为您需要的属性格式。

属性格式可以是具有嵌入式参数名称的任何文本。嵌入式参数名称是指以 %< 开头并以 > 结尾的参数名称,例如 %<priority>。Simulink 在模块图标下面显示属性格式文本,并将每个参数名称替换为对应的值。您可以使用换行符 (\n) 使每个参数单独显示一行。例如,选择 Gain 模块,然后在 MATLAB 命令提示符下输入以下命令:

set_param(gcb,'AttributesFormatString','pri=%<priority>\ngain=%<Gain>')

Gain 模块将显示以下模块注释:

如果参数值既不是文本也不是整数,则显示 N/S(表示不支持),而不是显示值。如果参数名称无效,Simulink 将显示 ???,而不是显示值。

相关主题