模块回调
指定模块回调
打开属性检查器。在建模选项卡中,在设计下,点击属性检查器。
选择您要指定其回调的模块。在属性检查器的属性选项卡上,请在回调部分中,选择您要定义的回调。
在框中,输入您希望回调执行的函数。
要以编程方式指定模块回调,请使用 set_param
为模块回调参数分配 MATLAB® 代码。
模块回调参数
如果模块回调在建模操作发生之前或之后执行,该回调将在该操作之前或之后紧接着发生。
模块回调参数 | 执行时间 |
---|---|
| 打开模块时。 一般情况下,应将此参数与 Subsystem 模块结合使用。 当您双击模块,或者将 将 有关将
|
| 加载模块图之后。 对于 Subsystem 模块,将对子系统中定义了 |
模块回调参数 | 执行时间 |
---|---|
| 移动或调整模块大小时。 |
| 模块的名称或路径更改之后。 如果 Subsystem 模块路径发生变化,Subsystem 模块将先调用其后代模块的 |
PreCopyFcn | 在复制模块之前。如果使用 如果您复制的 Subsystem 模块包含的模块定义了 在执行所有 |
| 在复制模块之后。如果使用 如果您复制的 Subsystem 模块包含的模块定义了 |
| 在将模块复制或剪切到系统剪贴板时。 |
PreDeleteFcn | 在图形意义上删除模块之前(例如,当您直接从图中删除模块或对模块调用 当包含该模块的模型关闭时,不会调用 |
| 在图形意义上删除模块之后(例如,当您直接从图中删除模块,对模块调用 在调用 对于 Subsystem 模块,将对子系统中定义了 |
| 在内存中销毁该模块后(例如,当您对模块或包含该模块的子系统调用 如果之前未在图形意义上删除模块,模块的 |
| 在撤消模块删除操作时。 |
模块回调参数 | 执行时间 |
---|---|
| 编译模块图之前以及计算模块参数之前。有关 |
| 编译模块图之后、仿真开始之前。 如果是 S-Function 模块, |
| 在仿真继续之前。 |
| 在仿真暂停之后。 |
| 在仿真因任何原因终止时。 如果是 S-Function 模块, |
模块回调参数 | 执行时间 |
---|---|
| 保存模块图之前。 对于 Subsystem 模块,将对子系统中定义了 |
| 保存模块图之后。 对于 Subsystem 模块,将对子系统中定义了 |
| 使用 当您以交互方式关闭模块参数对话框、以交互方式关闭包含模块的子系统或模型,或使用 例如,若要关闭所有打开的 MATLAB 窗口,请使用如下命令: set_param('my_model','CloseFcn','close all') |
| 模块图关闭之前。 当模型关闭时,模块的 对于 Subsystem 模块,将对子系统中定义了 |
您可以对 Subsystem 模块使用其他模块回调参数,但此表中的回调参数特定于 Subsystem 模块。
注意
封装子系统的回调不能直接引用封装子系统的参数(请参阅创建模块封装)。Simulink® 在 MATLAB 基础工作区中计算模块回调,而封装参数驻留在封装子系统的私有工作区中。然而,模块回调可以使用 get_param
获取封装参数的值。例如,此处的 gain
是当前模块的封装参数的名称:
get_param(gcb, 'gain')
模块回调参数 | 执行时间 |
---|---|
| 在子系统中删除模块或线条后。 如果模块有 |
| 当子系统中发生错误时。
newException = errorHandler(subsys, ... errorType, originalException) 其中
如果您提供原始异常,则不需要指定子系统和错误类型。 以下命令将子系统 set_param(subsys,'ErrorFcn','errorHandler') set_param 调用中,不要包含回调代码的输入参数。Simulink 显示由回调返回的错误消息。 |
| 在关闭包含模块的子系统之前,或者通过使用以下方式将模块纳入为新子系统的一部分时:
当您关闭模型时,Simulink 不会调模型根级的模块的 |
相关主题
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)