文档帮助中心文档
打开属性检查器。在建模选项卡,在设计,点击属性检查器.
选择要指定其回调的块。在属性选项卡中的属性检查器回调部分,选择要定义的回调。
在方框中,输入您希望回调执行的函数。
若要以编程方式指定块回调,请使用set_param将MATLAB®块回调参数的代码。
set_param
如果在建模操作发生之前或之后执行块回调,则回调将立即发生在操作发生之前或之后。
块打开回调参数
OpenFcn
当方块被打开时。
通常,在子系统块中使用此参数。
当您双击块或使用时,回调将执行open_system用block作为参数。的OpenFcn参数覆盖与打开块相关的正常行为,即显示块对话框或打开子系统。你可以使用的任务示例OpenFcn它包括为块定义变量,调用MATLAB生成模拟数据图,或生成图形用户界面。
open_system
在添加OpenFcn回调到一个块,双击该块不会打开块对话框。同样,当块被选中时,块参数不会出现在属性检查器中。若要设置块参数,请选择块的参数从块上下文菜单。
例如使用OpenFcn使用模型引用,请参阅:
在使用模型参考管理数据简介示例:单击顶部的问号块,然后选择使用模型引用管理数据的详细工作流.
使用模型引用管理数据的详细工作流
管理参考模型的仿真目标
LoadFcn
在加载框图之后。
对于子系统块,LoadFcn回调对子系统(包括其他子系统块)中具有LoadFcn定义回调。
块编辑回调参数
MoveFcn
当块移动或调整大小时。
NameChangeFcn
在块名称或路径更改后。
当子系统块路径改变时,子系统块调用NameChangeFcn的回调函数,然后调用NameChangeFcn回调。
PreCopyFcn
在复制块之前。的PreCopyFcn也在以下情况下执行add_block用于复制块。
add_block
如果复制的子系统块中包含的块PreCopyFcn回调函数定义后,回调函数也会执行。
块CopyFcn回调函数最终被调用PreCopyFcn回调函数执行。
CopyFcn
在复制一个块之后。也会执行回调函数add_block用于复制块。
如果复制的子系统块中包含的块CopyFcn参数定义时,也执行回调。
ClipboardFcn
当将块复制或剪切到系统剪贴板时。
PreDeleteFcn
在以图形方式删除块之前(例如,当以图形方式删除块或调用时)delete_block块)。
delete_block
的PreDeleteFcn在包含块的模型关闭时不调用。块的DeleteFcn的后面调用PreDeleteFcn,除非PreDeleteFcn调用错误命令,显式地或通过在PreDeleteFcn.
DeleteFcn
错误
在以图形方式删除块之后(例如,当以图形方式删除块时,调用delete_block或关闭包含该块的模型)。
当DeleteFcn时,块句柄仍然有效,可以使用get_param.如果通过调用以图形方式删除块delete_block或者通过关闭模型,删除后块从内存和块的DestroyFcn被称为。
get_param
DestroyFcn
对于子系统块,DeleteFcn回调对子系统(包括其他子系统块)中具有DeleteFcn定义回调。
当块已从内存中销毁时(例如,当您调用delete_block在该块或包含该块的子系统上,或关闭包含该块的模型)。
如果块之前没有图形化地删除,则块DeleteFcn方法之前调用DestroyFcn.当DestroyFcn时,块句柄将不再有效。
UndoDeleteFcn
当块删除被撤消时。
块编译和模拟回调参数
InitFcn
在编译框图和计算块参数之前。如欲了解更多有关InitFcn回调,看初始化函数.
StartFcn
在编译框图之后,在模拟开始之前。
对于S-Function块,StartFcn在块的第一次执行之前立即执行mdlProcessParameters函数。有关更多信息,请参见s函数回调方法.
mdlProcessParameters
ContinueFcn
在模拟继续之前。
PauseFcn
在模拟暂停之后。
StopFcn
在模拟的任何终止时。
对于S-Function块,StopFcn在块之后执行mdlTerminate函数执行。有关更多信息,请参见s函数回调方法.
mdlTerminate
块保存和关闭回调参数
PreSaveFcn
在保存框图之前。
对于子系统块,PreSaveFcn回调对子系统(包括其他子系统块)中具有PreSaveFcn定义回调。
PostSaveFcn
在保存框图之后。
对于子系统块,PostSaveFcn回调对子系统(包括其他子系统块)中具有PostSaveFcn定义回调。
CloseFcn
当块被关闭时使用close_system.
close_system
的CloseFcn当您以交互方式关闭块参数对话框时,当您以交互方式关闭包含块的子系统或模型时,或者当您使用close_system.
例如,要关闭所有打开的MATLAB窗口,可以使用如下命令:
set_param (' my_model ', ' CloseFcn ', '关闭所有')
ModelCloseFcn
在框图关闭之前。
当模型关闭时,块的ModelCloseFcn在它之前调用DeleteFcn.
对于子系统块,ModelCloseFcn回调对子系统(包括其他子系统块)中具有ModelCloseFcn定义回调。
子系统块回调参数
您可以在子系统块中使用其他块回调参数,但是该表中的回调参数是特定于子系统块的。
请注意
一个回调对于被屏蔽子系统,不能直接引用被屏蔽子系统的参数(参见创建块面具).万博1manbetx动态仿真模块®在MATLAB基础工作空间中计算块回调,而掩码参数驻留在掩码子系统的私有工作空间中。然而,可以使用块回调get_param获取掩码参数的值。例如,在这里获得当前块的掩码参数的名称:
获得
“获得”get_param (gcb)
DeleteChildFcn
在子系统中删除一个块或一行后。
如果块有DeleteFcn或DestroyFcn回调函数,那些回调函数在DeleteChildFcn回调。
ErrorFcn
当子系统中发生错误时。
类的回调代码使用以下表单ErrorFcn参数:
newException = errorHandler(subsys,…errorType originalException)
在哪里
errorHandler是函数的名称。
errorHandler
中高是发生错误的子系统的句柄。
中高
errorType指示发生的错误类型的字符向量。
errorType
originalException是一个msleexception(看到了吗在Simulink中使用msleex万博1manbetxception进行错误处理).
originalException
newException是一个指定要显示给用户的错误消息的msleexception。
newException
如果提供原始异常,则不需要指定子系统和错误类型。
下面的命令设置ErrorFcn的子系统中高调用errorHandler回调函数:
set_param(中高,‘ErrorFcn’,‘errorHandler’)
ParentCloseFcn
在关闭包含该块的子系统之前,或者当该块使用以下任何一种方式成为新子系统的一部分时:
的new_system函数
new_system
的创建子系统图标多个选项卡,在Simulin万博1manbetxk编辑器。
当您关闭模型时,Simulink不会调用万博1manbetxParentCloseFcn根模型级别的块回调。
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处