EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB 添加自定义的模块到simulink库浏览器
6 |5 |; y5 p D& d6 r4 M, q
+ p' d& B3 Y; A6 A) _在MATLAB开发环境中,Simulink仿真平 台可以建立用户自定义的库文件,并将它们显示在Library Browser窗口下,方便用户进行模块的操作。用户可以将一些平时使用比较频繁,或者自己建立的一些封装子模块集中在一块,方便使用。要建立 Simulink库文件,首先启动Simulink工作窗口,单击菜单栏【File】下的【New】选项,选择【library】选项,打开一个新的 Library窗口界面,此时,用户可以将自己需要添加的一些模块加入到新的窗口中。然后保存为所需要定义的库文件名称。这样,就建立了一个自定义的库文 件。2 H6 d" I- R% N3 b* T
, ?8 Q) D, B5 X# e, ]' Z8 S虽然按照上述的方法,将一些用户常用的模块集中在一块,可以方便使用,但是,每次使用都需要打开自定义模块的窗口,而无法象Simulink仿真模块一样显示在Library Browser窗口下。按照以下步骤可以实现该功能:
2 g# w8 O& b( \2 ^7 s3 T, X& \•首先建立一个库文件,将自定义的封装模块加入库文件中,保存文件,在这里,命名为: Converters.mdl。
* e* v0 U5 }) g2 D0 O
% g6 W' z7 v: F# K8 d•在Matlab路径下创建存放库文件的路径,也即自定义的模块库在Library Browser下的显示位置。注意在Matlab中,每一个模块库文件所在的路径必须不同。创建的Maltab路径是E:\MATLAB2010\toolbox\simulink\simulink\myLibrary(根据自己的Matlab安装路径来确定),其中myLibrary为自定义的文件夹。
( s' H' k8 p f, R* N) ~- O" t
$ w1 [ N: ]+ c' b/ p•将第一步中建立的库文件拷贝到新建的Matlab路径下。在Matlab主窗口的【File】菜单栏下选择【Set Path】选项,然后单击【Add Folder】按钮,将新建的路径添加进来,然后保存(Save),退出(Close)。
6 J) _$ X. u0 N$ y
* Q2 m9 C& Q" I; L• 要显示自定义的模块库,还需要拷贝slblocks.m函数到新建的路径下。在本演示中,模块库的名称为Converters.mdl,因此对应的slbocks.m文件为:
' f' P; M+ A& Q- _function blkStruct = slblocks
$ v* M( M& O. [5 } 4 w$ T+ Z- W0 Q2 q9 c
%SLBLOCKS Defines a block library.
) l1 ^. a3 f2 l0 o
. e, ?2 G7 ~( ?1 b% Library's name. The name appears in the Library Browser's: L& ~3 P# U% S6 \3 @$ o
% contents pane.8 v$ n) u) _3 k3 r! O C1 Q
& d* L! H, C$ M' XblkStruct.Name = ['Own Definition' sprintf('\n') 'Library']; % 模块库的显示名称
+ ]- @9 x- G- @; t$ W4 s: m; W' K8 G, Q# s% w+ s# s
% The function that will be called when the user double-clicks on
$ N/ B% ^2 |' t' f3 a' ~% the library's name. ;
% j8 ?, `' q, o. |) n& v# @* ?& u! b
blkStruct.OpeNFCn = 'Converters'; %自定义的模块库名称 6 s! t0 F7 F' Y# b
) g8 `$ |' P* i' N- P, |# n7 v O b% The argument to be set as the Mask Display for the subsystem. You. P* C k3 J/ |6 K0 P; L. K
% may comment this line out if no specific mask is desired.; H6 q2 ]4 f$ n1 _" X
% Example: blkStruct.MaskDisplay =
7 U5 B2 p3 d9 A9 |& N! v'plot([0:2*pi],sin([0:2*pi]));';
! s& e+ e" W+ Y% No display for now.' Z* b5 s7 h9 r
5 T' j$ l! s1 o% blkStruct.MaskDisplay = '';) W2 F1 Q4 g# G, s6 L: H
! r3 m+ X# k( P- p
% End of blocks
0 ^. p8 u$ @! L( X9 H9 }7 g( X/ o" y& N7 ]$ h3 K$ G8 \8 g
按照以上的代码修改文件后,将其拷贝到自定义的路径下,这样在原来自定义的路径下就包含有两个文件,一个是自定义模块库文件,另一个则是slbocks.m文件。+ C! A$ }/ q% Y8 T
* t, b4 F8 w) T# u- I3 z
•重新启动Matlab环境,启动Simulink仿真平台,可以发现在Simulink Library Browser窗口下增加了一个新的模块库,名称是Own Definition Library,展开后,可以看到内部的自定义模块。那么用户可以方便地进行拖放模块,就可以使用自定义的封装模块了。
3 g1 x3 Q2 a( M# D3 ^ |