EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB 添加自定义的模块到simulink库浏览器 - ]1 e- C3 d( L# }+ Z. J. O+ r
0 E' g H0 d) M5 f# S. G在MATLAB开发环境中,Simulink仿真平 台可以建立用户自定义的库文件,并将它们显示在Library Browser窗口下,方便用户进行模块的操作。用户可以将一些平时使用比较频繁,或者自己建立的一些封装子模块集中在一块,方便使用。要建立 Simulink库文件,首先启动Simulink工作窗口,单击菜单栏【File】下的【New】选项,选择【library】选项,打开一个新的 Library窗口界面,此时,用户可以将自己需要添加的一些模块加入到新的窗口中。然后保存为所需要定义的库文件名称。这样,就建立了一个自定义的库文 件。
" z D: V7 ^/ P' b2 X) `! j% Z M0 o v4 j
虽然按照上述的方法,将一些用户常用的模块集中在一块,可以方便使用,但是,每次使用都需要打开自定义模块的窗口,而无法象Simulink仿真模块一样显示在Library Browser窗口下。按照以下步骤可以实现该功能:
* b9 h. r; ], x! T* O5 Q1 J: j•首先建立一个库文件,将自定义的封装模块加入库文件中,保存文件,在这里,命名为: Converters.mdl。$ T7 y# |; B& x$ H
) M. V$ ^; g- ]8 a1 k) m* o9 Y$ Y k) ^
•在Matlab路径下创建存放库文件的路径,也即自定义的模块库在Library Browser下的显示位置。注意在Matlab中,每一个模块库文件所在的路径必须不同。创建的Maltab路径是E:\MATLAB2010\toolbox\simulink\simulink\myLibrary(根据自己的Matlab安装路径来确定),其中myLibrary为自定义的文件夹。
, U0 Q! v* p h; |# t. m& a B* _# M& q7 J9 e9 T9 N
•将第一步中建立的库文件拷贝到新建的Matlab路径下。在Matlab主窗口的【File】菜单栏下选择【Set Path】选项,然后单击【Add Folder】按钮,将新建的路径添加进来,然后保存(Save),退出(Close)。- l) E7 ^3 c1 a& z* V9 M
( u4 v. E; ?2 p) M. h+ l3 L, z$ J• 要显示自定义的模块库,还需要拷贝slblocks.m函数到新建的路径下。在本演示中,模块库的名称为Converters.mdl,因此对应的slbocks.m文件为:* z: e7 ` g: I! z5 n
function blkStruct = slblocks1 J# o& U! |( V1 I
# ~% ^+ f& |3 G& v, T) t%SLBLOCKS Defines a block library.
. C/ |, Q. N. o: q0 S f; ^
1 D# B) N2 t8 _# H; [% Library's name. The name appears in the Library Browser's
; X" u! j& i, s. v7 Z% contents pane." ^- Q* [) G! g' Y3 U+ h4 b
- ?' x. y, @: L/ f
blkStruct.Name = ['Own Definition' sprintf('\n') 'Library']; % 模块库的显示名称
% @& i A1 Q7 [4 }* z: D3 a9 W7 I9 j: b3 p; A; J2 \& c) B
% The function that will be called when the user double-clicks on
4 r5 I! U, O! P" @, _% the library's name. ;. f7 j+ x% X8 b0 j2 z9 B: K
/ m8 u5 |0 `: f% |2 k0 n( ~* P
blkStruct.OpeNFCn = 'Converters'; %自定义的模块库名称
( k; M; t9 `: [& i1 k. d8 g/ d! X) Q$ A y" C& s4 g
% The argument to be set as the Mask Display for the subsystem. You
1 S; M, x$ W( J7 p/ a1 I+ P) w# U% may comment this line out if no specific mask is desired.5 J- m# j3 G) @& N# i
% Example: blkStruct.MaskDisplay =7 Q/ I4 L# \, r$ {3 P7 r( D* c
'plot([0:2*pi],sin([0:2*pi]));';
: w5 [" e5 Y- v x. a; {+ ^% No display for now.
$ ^2 v# S; V: b" S1 N+ t* P2 R/ z/ V* B# ^
% blkStruct.MaskDisplay = '';
, M! r' r! { l4 V5 l+ s
2 j; Q4 A9 R7 S% D! E% `% End of blocks
2 K* C4 o6 Q5 S. [$ N8 i0 _; P8 L0 \0 A6 W
按照以上的代码修改文件后,将其拷贝到自定义的路径下,这样在原来自定义的路径下就包含有两个文件,一个是自定义模块库文件,另一个则是slbocks.m文件。
7 d* Z* i7 W) S" u, }% j
2 N ]) a$ ^! R5 y9 f0 I h•重新启动Matlab环境,启动Simulink仿真平台,可以发现在Simulink Library Browser窗口下增加了一个新的模块库,名称是Own Definition Library,展开后,可以看到内部的自定义模块。那么用户可以方便地进行拖放模块,就可以使用自定义的封装模块了。
# t3 a o' p% [4 G' G8 e9 D |