这次我们从实现一个对模型选项进行设置的block开始,串联起几个Simulink Toolbox的控制文件,并写一个简单的S-Function文件,Simulink本身也提供了类似的block,例如下面这几个。
我们不使用它生成任何的代码,而是利用Simulink的callback机制和m语言,自动化完成模型选项的设置。
首先我们拖一个Simulink->User Defined Functions->S-Function到我们的libaray,修改成下面的样子。
首先Create Mask,然后进行编辑,在Icon&Ports页面输入下面内容:
text(0.1,0.5,'Configure MyTarget Model\n (double-click to active)');
text这个函数的功能是在Icon的指定位置显示文字,它的坐标参考系取决于Icon units,这里选择的是Normalized,x和y的取值范围为0到1。
在图标上右键Format->background color中选择背景颜色,选择light blue就是上面图里的效果。
然后右键Properties->Callbacks中,我们选择实现OpenFcn,这个回调函数在双击打开block的时候会被调用。我们可以看到一个block有许多Callback,我们可以通过选择性的实现去自定义一个block的行为。
我们在OpenFcn的编辑框中写mytarget_configuration(gcb),它的意思是将调用mytarget_configuration这个函数,参数gcb是当前block的路径名称。mytarget_configuration实现如下:
function m