Simulin金宝appk上的Guy

金宝appSimulink &基于模型的设计

金宝appSimulink函数大获成功

R2014b的发布将一个历史悠久的statflow特性提升到了模型级别:金宝app仿真软件的功能.这些块类似于独立的MATLAB函数,通过允许您从模型中的任何地方(甚至从状态流程图中)调用相同的块集,可以促进模块化和重用!

一个与众不同的街区

金宝appSimulink函数不同于任何其他Simulink块,甚至不同于其他用户定义的函数,如函数调用子系统。首先,该块不使用传统端口。相反,像MATLAB函数一样,指定参数。

在Simulink函数金宝app中,参数由外观独特的参数端口块表示。

参数导入和参数输出

因为它们不是传统的端口,所以在Library Browser中找不到这些块。要添加或删除参数,您可以在块的掩码上键入:

如何指定Simulink函数参金宝app数

要在模型中使用Si金宝appmulink函数,需要使用函数调用器块。

您还可以从状态流程图调用Simulink函数金宝app

金宝appSimulink通过函数名将此块的每个实例与函数关联起来;它要求模型层次结构中的每个函数名都是唯一的。

引用模型中的函数

说到层次结构,Simulink函数的一个非常实际的应用是在引用模型上下文中。金宝app在引用模型中定义的函数在其父模型的作用域中。但是,参考模型必须遵循一些非常特殊的设计规则,就像它们包含函数调用子系统一样

要遵守这些规则,最简单的方法就是创建一个只包含Simulink函数块集合的模型,如下所示:金宝app

functionCollection

现在向您的父模型添加一个Model块,并将其指向这个集合,您可以从父模型或层次结构上的任何其他模型调用这些函数中的任何一个。

整个模型层次结构中的函数名必须是唯一的

生成代码

从Simulink函数生成的代码是模块化金宝app和简单的,正如你所期望的那样。每个函数都在自己的源文件中定义。函数原型通常采用以下形式:

void foo(type_T in1, type_T in2, type_T *out1, type_T *out2)

金宝appSimulink足够智能,可以识别您何时试图模拟引用传递,并且您将输出命名为与输入相同的名称(就像我在timestwo上图中的例子)。当你这样做时,生成的函数原型看起来就像这样:

void foo(type_T *x)

现在轮到你了

这开启了一种全新的建模方式。您可以创建什么样的设计模式?

|

댓글

댓글을남기려면링크를클릭하여MathWorks계정에로그하거나계정을새로만드십시오。