主要内容

块回调

您可以指定块回调执行MATLAB®代码块的事件,比如一块加载时,打开,或编辑。

  1. 建模选项卡,在设计,点击属性检查器

  2. 选择您希望指定块的回调。

  3. 属性标签的属性检查器,回调部分中,选择您想要定义的回调。

  4. 在框中,输入您想要的功能执行的回调。

以编程方式指定一块回调,使用set_param将MATLAB代码块回调参数。

如果一块回调执行一个建模行为发生之前或之后,回调发生之前或之后立即行动。

块开回调参数

块回调参数 执行时

OpenFcn

块时打开。

一般来说,使用该参数子系统块。

回调执行当你双击块或当你使用open_system块作为参数。的OpenFcn参数覆盖相关的正常行为打开一块,这是显示块对话框或打开子系统。任务,您可以使用的例子OpenFcn包括一块定义变量,调用MATLAB产生模拟数据的情节,或生成一个图形用户界面。

当你添加一个OpenFcn回调到一块,双击块不开对话框。同时,块参数没有出现在属性检查器当块被选中。设置参数,选择块的参数块的上下文菜单。

LoadFcn

框图后加载。

子系统块,LoadFcn回调执行子系统(包括其他任何块子系统一块)LoadFcn定义回调。

块编辑回调参数

块回调参数 执行时

MoveFcn

当块移动或缩放。

NameChangeFcn

在一次成功格挡后名称或路径的变化。

当一个子系统块路径的变化,子系统块调用NameChangeFcn回调的后代街区,然后调用NameChangeFcn回调。

PreCopyFcn

前一块复制。的PreCopyFcn也执行如果add_block用于复制块。

如果你复制一个子系统包含块的块PreCopyFcn定义回调,回调执行。

CopyFcn回调被称为PreCopyFcn回调函数执行。

CopyFcn

在一次成功格挡后复制。如果执行的回调也是add_block用于复制块。

如果你复制一个子系统包含块的块CopyFcn参数定义回调也执行。

ClipboardFcn

当块复制或剪到系统剪贴板。

PreDeleteFcn

图形块之前删除图形化(例如,当您删除块或调用delete_block块)。

PreDeleteFcn不包含块关闭时调用模型。块的DeleteFcn被称为后PreDeleteFcn,除非PreDeleteFcn调用错误显式地命令,或者通过一个命令中使用PreDeleteFcn

DeleteFcn

一块图形删除后(例如,图形删除块时,调用delete_block,包含块)或关闭模式。

DeleteFcn被调用时,块处理仍然是有效的,可以使用访问get_param。如果块图形通过调用删除delete_block或关闭模式,删除块被摧毁后内存块的DestroyFcn被称为。

子系统块,DeleteFcn回调执行子系统(包括其他任何块子系统一块)DeleteFcn定义回调。

DestroyFcn

当从内存块已被摧毁(例如,当您调用delete_block在包含块的块或一个子系统或关闭模型包含块)。

如果没有先前图形块删除DeleteFcn回调被称为前DestroyFcn。当DestroyFcn被调用时,块处理不再有效。

UndoDeleteFcn

当一块删除回复。

块的编译和仿真调参数

块回调参数 执行时

InitFcn

编译和框图之前之前阻止参数评估。的更多信息InitFcn回调,看初始化函数

StartFcn

前编译和仿真框图后开始。

在的情况下功能块,StartFcn立即执行之前第一块执行的mdlProcessParameters函数。有关更多信息,请参见s函数回调方法

ContinueFcn

在模拟仍在继续。

PauseFcn

模拟后停顿了一下。

StopFcn

在任何终止模拟。

在的情况下功能块,StopFcn块的后执行mdlTerminate函数执行。有关更多信息,请参见s函数回调方法

块保存和关闭回调参数

块回调参数 执行时

PreSaveFcn

框图之前保存。

子系统块,PreSaveFcn回调执行子系统(包括其他任何块子系统一块)PreSaveFcn定义回调。

PostSaveFcn

框图后保存。

子系统块,PostSaveFcn回调执行子系统(包括其他任何块子系统一块)PostSaveFcn定义回调。

CloseFcn

当块封闭的使用close_system

CloseFcn不是你交互式地关闭时调用块参数对话框,当你交互式地关闭子系统包含块或模型,或当你关闭子系统或模型包含一块使用吗close_system

例如,关闭所有打开的MATLAB窗口,使用一个命令,如:

set_param (' my_model ', ' CloseFcn ', '关闭所有')

ModelCloseFcn

框图之前关闭。

当模型是关闭,阻止的ModelCloseFcn之前,被称为DeleteFcn

子系统块,ModelCloseFcn回调执行子系统(包括其他任何块子系统一块)ModelCloseFcn定义回调。

子系统块回调参数

您可以使用其他块回调参数子系统块,但回调参数表的子系统块。

请注意

一个回调的蒙面子系统不能直接引用的参数(见蒙面子系统创建块面具)。金宝app动态仿真模块®评估块MATLAB基础工作区中的回调,而面具参数驻留在蒙面子系统的私人空间。然而,一块回调,可以使用get_param获得一个面具参数的值。例如,在这里获得是一个面具的名字当前块的参数:

“获得”get_param (gcb)
块回调参数 执行时

DeleteChildFcn

在一次成功格挡后或删除线子系统。

如果块DeleteFcnDestroyFcn回调,回调函数执行前DeleteChildFcn回调。

ErrorFcn

当一个错误发生在一个子系统。

使用以下表单回调代码ErrorFcn参数:

newException = errorHandler(中高,……errorType originalException)

在哪里

  • errorHandler函数的名称。

  • 中高是一个处理子系统的错误发生。

  • errorType是一个特征向量表示的类型错误发生。

  • originalException是一个MSLException(看到了吗在仿真软件使用MSLExceptio金宝appn错误处理)。

  • newException是一个MSLException指定错误消息显示给用户。

如果你提供原始异常,那么你不需要指定子系统和错误类型。

下面的命令集ErrorFcn的子系统中高调用errorHandler回调函数:

set_param(中高,‘ErrorFcn’,‘errorHandler’)
在这样的调用set_param,不包括回调代码的输入参数。金宝app模型显示返回的错误消息回调。

ParentCloseFcn

前关闭一个子系统包含块或当块的一部分,一个新的子系统使用:

  • new_system函数

  • 创建子系统图标多个选项卡,在模型编辑器中。金宝app

当你关闭模型,模型不调用金宝appParentCloseFcn回调模块的根模型级别。

相关的话题