EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB 添加自定义的模块到simulink库浏览器
; b! m9 p) q' L. s; a6 U
+ d& s; r6 `$ r" @! p+ F在MATLAB开发环境中,Simulink仿真平 台可以建立用户自定义的库文件,并将它们显示在Library Browser窗口下,方便用户进行模块的操作。用户可以将一些平时使用比较频繁,或者自己建立的一些封装子模块集中在一块,方便使用。要建立 Simulink库文件,首先启动Simulink工作窗口,单击菜单栏【File】下的【New】选项,选择【library】选项,打开一个新的 Library窗口界面,此时,用户可以将自己需要添加的一些模块加入到新的窗口中。然后保存为所需要定义的库文件名称。这样,就建立了一个自定义的库文 件。
7 Q3 d! `. F/ Y3 Z. N( B! ~( ^* i, S8 ?- I$ c7 K" O8 T
虽然按照上述的方法,将一些用户常用的模块集中在一块,可以方便使用,但是,每次使用都需要打开自定义模块的窗口,而无法象Simulink仿真模块一样显示在Library Browser窗口下。按照以下步骤可以实现该功能:( o7 N0 A) ]; c7 S7 K
•首先建立一个库文件,将自定义的封装模块加入库文件中,保存文件,在这里,命名为: Converters.mdl。1 ~1 _+ c+ b- D1 Y
p6 s$ [7 t% [$ e% \
•在Matlab路径下创建存放库文件的路径,也即自定义的模块库在Library Browser下的显示位置。注意在Matlab中,每一个模块库文件所在的路径必须不同。创建的Maltab路径是E:\MATLAB2010\toolbox\simulink\simulink\myLibrary(根据自己的Matlab安装路径来确定),其中myLibrary为自定义的文件夹。
# P6 ], S1 Q3 d
; ^5 r1 N3 T1 P$ r3 r•将第一步中建立的库文件拷贝到新建的Matlab路径下。在Matlab主窗口的【File】菜单栏下选择【Set Path】选项,然后单击【Add Folder】按钮,将新建的路径添加进来,然后保存(Save),退出(Close)。
1 l( c. G8 ^0 o( l1 y. v
- U2 ~# B# Q' S• 要显示自定义的模块库,还需要拷贝slblocks.m函数到新建的路径下。在本演示中,模块库的名称为Converters.mdl,因此对应的slbocks.m文件为:
4 Y( F9 X! A7 }function blkStruct = slblocks
0 }; q4 E z( g % ]0 f! {1 O) N
%SLBLOCKS Defines a block library.9 t" V; u" }5 ]( E8 Q
, ?5 x+ C2 ^, t" _8 h% Library's name. The name appears in the Library Browser's
. r/ b" a* k; M: N4 [% contents pane.0 T7 _8 {, W& v I4 y+ I9 l% b
- }5 m& K; ?5 [' m! qblkStruct.Name = ['Own Definition' sprintf('\n') 'Library']; % 模块库的显示名称 & N+ c, X: D% S) C" o1 a
/ C* H4 K5 r" { x% n% The function that will be called when the user double-clicks on
5 }. I! H( Q/ [" [; P! s% the library's name. ;/ D! `- d$ P( O! n& E! |5 V
. ~9 }+ n7 W! K+ a* @blkStruct.OpeNFCn = 'Converters'; %自定义的模块库名称
- O6 G. k9 n/ x6 W' C
2 N. \4 T- ]3 A9 o% The argument to be set as the Mask Display for the subsystem. You& R1 y# o# {& Y& ~1 V H+ w
% may comment this line out if no specific mask is desired.3 K5 v9 Z$ e1 y* P
% Example: blkStruct.MaskDisplay =
- N$ Z& G5 J4 l/ @' e'plot([0:2*pi],sin([0:2*pi]));';
) x* l/ \/ ~" K* s% o9 U1 ] h% No display for now.. ]6 d, m4 I c5 c2 D
+ ]6 N& y( E: f% blkStruct.MaskDisplay = '';
6 n6 {3 O: [- b1 |- e9 ], P6 e" d" Y& L% e9 X, C/ u
% End of blocks 5 Z8 V4 x# m9 c8 h
/ W8 o5 [$ F) _9 a按照以上的代码修改文件后,将其拷贝到自定义的路径下,这样在原来自定义的路径下就包含有两个文件,一个是自定义模块库文件,另一个则是slbocks.m文件。' n: U" z O) M8 E
* K0 p8 s5 T6 o5 P/ _) K& j" l- ?7 P
•重新启动Matlab环境,启动Simulink仿真平台,可以发现在Simulink Library Browser窗口下增加了一个新的模块库,名称是Own Definition Library,展开后,可以看到内部的自定义模块。那么用户可以方便地进行拖放模块,就可以使用自定义的封装模块了。7 G$ n* Z3 ~$ m0 F6 T
|