软件开发工具——Simulink的回调函数介绍
北冥有鱼
|
2019.12.30
|
0
+关注

1. 什么是回调函数

Callback functions(回调函数)是因某种操作而触发对其调用的函数,如按下按钮或双击操作等。对于模型来说,回调函数在 Simulink中起着举足轻重的作用。当执行一系列动作,如选中某个模块或仿真开始时,回调函数便被触发执行。使用回调功能可用来执行一个 MATLAB脚本或调用 MATLAB函数。 Simulink中回调函数的触发可通过模块、端口或模块的参数设置来实现

常用的 Simulink回调函数可应用在以下场合:

1) 打开 Simulink模型时自动加载变量到工作空间;

2) 双击模块时执行 MATLAB脚本;

3) 仿真开始前进行模型参数的初始化;

4) 仿真结束后将仿真出来的数据绘制图像;

5)关闭模型时清除相关变量或关闭图像。

2. 回调跟踪

当打开模型或对某个模型进行仿真时,回调跟踪功能可以清楚显示 Simulink如何调用回调函数以及以何种顺序调用它们。在 Preferences对话框中选择 Callback tracing选项或者在Command Window中执行 set param(0, ‘CallbackTracing',’on'),即可打开回调跟踪功能。回调函数被调用时,在MATLAB命令窗口中将显示回调列表。这个选项对所有 Simulink软件都适用,而不仅仅对于当前打开的模型。如单击 MATLAB T具栏 Simulink Library按钮打开 Simulink Library Browser时会显示回调函数过程,如下图所示。

开启了回调函数追踪功能之后,可以显示任何类型的回调函数执行过程。Simulink中回调函数分为模型回调函数、模块回调函数、端口回调函数和参数回调函数。

3. 模型回调函数

可以通过手动或程序创建2种方式创建模型回调函数。在模型菜单中选择File->Model->Properties->Model Properties可以打开模型属性对话框,如下图所示。

4. 模块回调函数

可以通过手动或M代码创建模块回调函数。手动创建模块的回调函数时通过模块回调函数的对话框实现。鼠标右键点击模块,在右键菜单里选择Properties打开模块属性对话框,其Callbacks列表和回调函数内容编辑对话框,如下图所示。

5. 端口回调函数

模块输入和输出端口的回调函数称为连接回调函数,在任何时刻端口信号连接发生改变时都会触发此回调函数。变化情况包括:从端口连接信号线到其它端口;从端口删除信号线连接;删除、切断或增加连接到端口的分支或信号线等。

端口的回调函数无法通过对话框手动填入,必须使用get_param获得端口的句柄,使用set_param设置端口的回调函数。此回调函数含有一个输入参数,代表端口句柄,但在调用set_param时不包括此输入参数。

精选留言
延伸阅读
更多报告干货
写留言
1652
阅读
收藏
回到顶部