EDA365电子论坛网
标题:
MATLAB 添加自定义的模块到simulink库浏览器
[打印本页]
作者:
Colbie
时间:
2020-9-11 11:18
标题:
MATLAB 添加自定义的模块到simulink库浏览器
MATLAB 添加自定义的模块到simulink库浏览器
; \3 e" I7 E) N3 r+ R3 @ B0 t
5 F! l( U% j4 {! u1 l$ l# G# l
在MATLAB开发环境中,Simulink仿真平 台可以建立用户自定义的库文件,并将它们显示在Library Browser窗口下,方便用户进行模块的操作。用户可以将一些平时使用比较频繁,或者自己建立的一些封装子模块集中在一块,方便使用。要建立 Simulink库文件,首先启动Simulink工作窗口,单击菜单栏【File】下的【New】选项,选择【library】选项,打开一个新的 Library窗口界面,此时,用户可以将自己需要添加的一些模块加入到新的窗口中。然后保存为所需要定义的库文件名称。这样,就建立了一个自定义的库文 件。
/ O+ ?# Z0 { W; g; l. J
+ V3 T: N0 V8 _! E
虽然按照上述的方法,将一些用户常用的模块集中在一块,可以方便使用,但是,每次使用都需要打开自定义模块的窗口,而无法象Simulink仿真模块一样显示在Library Browser窗口下。按照以下步骤可以实现该功能:
0 y6 d0 H& F9 J: a
•首先建立一个库文件,将自定义的封装模块加入库文件中,保存文件,在这里,命名为: Converters.mdl。
, `. z& S2 b4 z0 {' P
5 Q) z* j( k. G! @& {1 ?+ K+ J" q
•在Matlab路径下创建存放库文件的路径,也即自定义的模块库在Library Browser下的显示位置。注意在Matlab中,每一个模块库文件所在的路径必须不同。创建的Maltab路径是E:\MATLAB2010\toolbox\simulink\simulink\myLibrary(根据自己的Matlab安装路径来确定),其中myLibrary为自定义的文件夹。
5 R" t' C8 F$ l% K( k
2 w1 c( Q( c. o8 l; U
•将第一步中建立的库文件拷贝到新建的Matlab路径下。在Matlab主窗口的【File】菜单栏下选择【Set Path】选项,然后单击【Add Folder】按钮,将新建的路径添加进来,然后保存(Save),退出(Close)。
+ B& c$ m4 j# N( a& y2 Q
" D2 i m8 u* P4 S+ J
• 要显示自定义的模块库,还需要拷贝slblocks.m函数到新建的路径下。在本演示中,模块库的名称为Converters.mdl,因此对应的slbocks.m文件为:
! j4 \9 \; k* ]/ l1 U- j
function blkStruct = slblocks
7 }; v, S% E5 ?
! O9 H- z* k6 T- n2 |; v) E) m8 I( A1 z
%SLBLOCKS Defines a block library.
: u0 G# d1 E W/ U( k9 R
$ `: D' Z5 N' k4 d! n0 J1 k
% Library's name. The name appears in the Library Browser's
) w$ R' P& d$ Z2 }, b' B
% contents pane.
4 Y! O* v5 P, w2 A" \
& Z& o K; W! \2 S: R* z+ x
blkStruct.Name = ['Own Definition' sprintf('\n') 'Library']; % 模块库的显示名称
7 W' g+ X; Y& i" ^1 v% I7 ^$ K
3 U* z1 b0 w$ `( U4 a }8 N3 _
% The function that will be called when the user double-clicks on
) @) l. e' P9 O0 P
% the library's name. ;
& q$ J# p9 p5 g- ]2 ^
1 G4 z4 V7 d# Q; {( r
blkStruct.OpenFcn = 'Converters'; %自定义的模块库名称
& h. `; l- K" l6 j# ^5 n5 b: r7 M
( K+ J% |: F4 z# K% B
% The argument to be set as the Mask Display for the subsystem. You
3 T* O: x0 D) w0 l6 {9 A9 ?
% may comment this line out if no specific mask is desired.
5 {: f0 R& o2 K+ v5 j
% Example: blkStruct.MaskDisplay =
$ ?5 q3 a5 @# x$ T k0 P, R' B
'plot([0:2*pi],sin([0:2*pi]));';
; \ U! c( l3 {8 O
% No display for now.
6 L0 {0 f9 G7 E3 G6 c; K7 u
4 u+ V8 _( p3 U2 |% K) r7 I8 N
% blkStruct.MaskDisplay = '';
2 k) m4 S; Y* N- t- }
6 R4 p* E7 U7 ?2 ]
% End of blocks
( i- Q- P: ?7 J
$ N1 j4 p9 e$ J: m7 i
按照以上的代码修改文件后,将其拷贝到自定义的路径下,这样在原来自定义的路径下就包含有两个文件,一个是自定义模块库文件,另一个则是slbocks.m文件。
% V4 k) Z: d! }+ U
" S3 Z/ c7 R! p, a' m
•重新启动Matlab环境,启动Simulink仿真平台,可以发现在Simulink Library Browser窗口下增加了一个新的模块库,名称是Own Definition Library,展开后,可以看到内部的自定义模块。那么用户可以方便地进行拖放模块,就可以使用自定义的封装模块了。
; g) x# o; r9 o3 q# W( O
作者:
odayle
时间:
2020-9-11 13:16
MATLAB 添加自定义的模块到simulink库浏览器。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2