深入研究simulink建模与仿真之标准库模块

 

在研究库链接时发现,标准模块库也跟库链接有关系。

 

关于库链接,参考:

https://blog.****.net/booksyhay/article/details/86605092

 

 

标准模块中的库链接

 

其实,Library Browser中的模块,也有一些是使用库模块的方法添加到用户模型中的。

在打开显示库链接(Display => Library Links => All)的情况下,看看不同模块的显示状态:

深入研究simulink建模与仿真之标准库模块

前者是基本模块,后者是链接模块。

 

在链接图标上点击右键,可以跳到库模块(Go To Library Block)

深入研究simulink建模与仿真之标准库模块

这一下就跳到了Simulink库中Logic and Bit Operations子系统:

这个文件位于:<MatlabRoot>\toolbox\simulink\blocks\library\simulink.slx

深入研究simulink建模与仿真之标准库模块

 

标准库模块中的子系统

解锁后,可以看到,有很多左下角带有箭头的“子模块”都是“子系统”,是由其他更基本的子模块封装而成的。

深入研究simulink建模与仿真之标准库模块

 

比如,“Compare To Constant”模块的内部为:

深入研究simulink建模与仿真之标准库模块

只是将其当作子系统,封装了一下。点击菜单Diagram => Mask => Edit Mask(Ctrl+M),打开Mask Editor。

看看参数封装:

深入研究simulink建模与仿真之标准库模块

 

初始化的代码:

深入研究simulink建模与仿真之标准库模块

 

库浏览器与标准模块库的关系

再返回到simulink这个库文件,这里面的各个模块就是Library Browser里面提供的模块。

深入研究simulink建模与仿真之标准库模块

 

可以对比一下:

深入研究simulink建模与仿真之标准库模块

 

其他模块的封装

同样的方法,还可以看看标准模块库中其他模块是如何创建的。

比如,Sources中的Ramp:

深入研究simulink建模与仿真之标准库模块

其参数为:

深入研究simulink建模与仿真之标准库模块

 

内部实现为:

深入研究simulink建模与仿真之标准库模块

 

 

XY图(XY Graph)的实现

在simulink库模型中打开Sinks子系统,找到XY Graph模块,

深入研究simulink建模与仿真之标准库模块

 

进到里面,它将x和y信号送给S-Function模块。

深入研究simulink建模与仿真之标准库模块

 

再追进去看看

深入研究simulink建模与仿真之标准库模块

点击“Edit",可以看到sfunxy.m中,所调用MATLAB脚本。

比如:

深入研究simulink建模与仿真之标准库模块

深入研究simulink建模与仿真之标准库模块