當用戶自定義了一系列模塊之后,可以自定義模塊庫將同類自定義模塊顯示到Simulink Browser中,作為庫模塊方便地拖曳到新建模型中。
建立這樣的自定義庫需要3個條件:
- 建立library的mdl或slx文件,將自定義模塊添加到文件中保存;
- 建立名字為slblocks的M函數,定義模塊庫顯示到Simulink Browser中的規格;
- slblock.m與library模型庫文件需要存放到同一路徑下,並將路徑添加到MATLAB的Set Path中。
添加路徑到Set Path。
addpath('C:\Users\lenovo\Desktop')
將希望保存的模塊拖到庫文件中保存。
Library與普通mdl或slx的區別為:
- Library中的模塊不能隨意拖動,打開時默認為被鎖定的狀態;
- Library的工具欄上沒有仿真時間和仿真模式的設定;
- Library的菜單欄比一般模型文件的菜單欄缺少幾個選項:Simulation、Code和Tools。
將該庫文件存為Lib_entertainment.slx,並將存儲路徑添加到MATLAB的搜索路徑中。
編寫slblock.m文件。
function blkStruct = slblocks % Information for "Blocksets and Toolboxes" subsystem blkStruct.Name = sprintf('Just for fun!'); blkStruct.OpenFcn = 'disp(''Open Lib_entertainment Toolbox.'')'; blkStruct.MaskDisplay = 'plot([0:2*pi],sin([0:2*pi]));'; % Information for Simulink Library Browser Browser(1).Library = 'Lib_entertainment'; % no extension name Browser(1).Name = 'Lib_entertainment Toolbox'; Browser(1).IsFlat = 1; % no subsystems blkStruct.Browser = Browser;
刷新Simulink Browser,即可看到該庫及其中的模塊。
此時模塊在庫文件中將不能移動,試圖移動會看到以下信息。
通過菜單欄Diagram→Unlock Library解鎖,即可進行模塊的拖動,增加新模塊,更改既有模塊封裝等。