Можно создать собственную библиотеку и, опционально, добавить его в Simulink® Library Browser. Вы сохраняете библиотеку как файл .SLX
, когда вы делаете модель. Однако вы не можете моделировать в библиотеке, и библиотека становится заблокированной для редактирования каждый раз, когда вы закрываете его. Необходимо разблокировать библиотеку, прежде чем вы внесете изменения в нее. Смотрите Блокировку и Разблокируйте Библиотеки.
От начальной страницы Simulink выберите Blank Library и нажмите Create Library.
Добавьте блоки от моделей или библиотек к новой библиотеке. Внесите изменения, которые вы хотите к блокам, таким как изменяющиеся параметры блоков, добавляя маски, или добавляя блоки в подсистемы.
Имена подсистемы в иерархии библиотеки должны быть уникальными. Например, не создавайте иерархию, такую как Subsystem_Name1/Subsystem_Name2/Subsystem_Name1
.
Добавьте аннотации или изображения. Щелкните правой кнопкой по тем, вы хотите появиться в библиотеке в Браузере Библиотеки и выбрать Show in Library Browser.
Если вы планируете добавить библиотеку в Браузер Библиотеки, можно заказать блоки и аннотации в модели библиотеки. По умолчанию они появляются в алфавитном порядке в Браузере Библиотеки с подсистемами сначала, затем блокируется, и затем аннотации. Пользователь вашей библиотеки может использовать контекстное меню Library Browser, чтобы выбрать между просмотром их в алфавитном порядке или порядка, который вы задали. Когда пользователь выбирает эту опцию, порядок, в котором они появляются в вашей модели библиотеки, определяет порядок, они появляются на сетке в библиотеке в Браузере Библиотеки.
Если вы хотите, чтобы библиотека появилась в Браузере Библиотеки, включила образцовое свойство EnableLBRepository
, прежде чем вы сохраните библиотеку.
set_param(gcs,'EnableLBRepository','on');
Сохраните библиотеку.
То, где вы сохраняете библиотеку, зависит от того, как вы планируете использовать ее. Если вы хотите добавить его в Браузер Библиотеки, сохранить его в папку на пути MATLAB® или добавить местоположение в путь MATLAB. В противном случае сохраните его в местоположение, где модели, которые используют блоки, могут получить доступ к нему.
Если вы хотите, чтобы библиотека появилась в Браузере Библиотеки, необходимо также создать функциональный slblocks
на пути MATLAB, который добавляет библиотеку в браузер. Для примера, который показывает полные шаги для добавления библиотеки к браузеру, смотрите, Добавляют Библиотеки к Браузеру Библиотеки.
Чтобы обновить Браузер Библиотеки с вашими пользовательскими библиотеками, щелкните правой кнопкой где угодно по библиотеке Library Browser, перечисляют и выбирают Refresh Library Browser. Обновление Браузера Библиотеки также обновляет быстрый список вставок, чтобы включать блоки в пользовательские библиотеки в настоящее время в действительности. Быстрый список вставок позволяет вам добавить блоки в модель, не оставляя холст. Кликните по холсту и начните вводить, чтобы добавить блоки от быстрого списка вставок.
Ваша библиотека может содержать блоки, в которых вы нуждаетесь, сконфигурированный в ваших целях. Подсистемы, маскированные блоки и графики в вашей библиотеке становятся соединенными блоками как экземплярами в модели и остаются в курсе, если вы изменяете их в своей библиотеке. Знание об авторских блоках также полезно, когда вы создаете библиотеку. См. Проект и Создайте Авторский блок.
Можно создать блоки в пользовательских библиотеках с настройками в определенных целях.
Если ваша библиотека содержит много блоков, можно сгруппировать блоки в подсистемы или разделить подбиблиотеки. Чтобы создать подбиблиотеку, вы создаете библиотеку блоков подбиблиотеки и ссылаетесь на библиотеку от блока Subsystem в родительской библиотеке.
В библиотеке вы хотите добавить подбиблиотеку в, добавить блок Subsystem.
В блоке Subsystem удалите порты ввода и вывода по умолчанию.
Если вы хотите, создаете маску для подсистемы, которая отображает текст или изображение, которое передает цель подбиблиотеки.
В свойствах блока подсистемы, устанавливает коллбэк OpenFcn
на имя библиотеки, на которую вы хотите сослаться.
Чтобы узнать больше о масках, смотрите, Создают Простую Маску.
Можно сконфигурировать блок библиотеки, таким образом, экземпляры, созданные из него, не соединяются блоки и являются вместо этого копиями. Установите коллбэк CopyFcn
блока.
set_param(gcbh,'LinkStatus','none');
Чтобы добавить описание, которое появляется в соединенном блоке, замаскируйте блок библиотеки и добавьте описание в панели Documentation маски. Описания, добавленные к блоку библиотеки через свойства блока, не появляются на соединенном блоке.
Можно добавить одно или несколько ключевых слов в блок в библиотеке. Ключевое слово позволяет вам добавить блок в свою модель от быстрой подсказки вставки путем ввода ключевого слова или имени блока.
Например, предположите, что у вас есть пользовательский блок Gain в вашей библиотеке. Можно добавить ключевое слово My Gain
в блок. Затем можно добавить блок в модель путем ввода My Gain
в быстрой подсказке вставки.
Вы не можете добавить ключевые слова в блоки от Commonly Used Blocks. При добавлении ключевого слова в блок убедитесь, что вы устанавливаете его на родительской библиотеке блока.
Чтобы добавить ключевое слово в блок в вашей библиотеке, используйте set_param
с параметром 'BlockKeywords'
. Можно использовать вектор символов, представить в виде строки скаляр или массив строк как значение. Например:
set_param(gcb,'BlockKeywords',{"My Gain","Your Gain"}) set_param(gcb,'BlockKeywords','My Integrator')
Поддерживаемыми специальными символами в ключевых словах является '&', '(', ')', '+', '@', '!'
.
Общее использование блока Subsystem в пользовательской библиотеке должно установить свойство коллбэка OpenFcn
открыть библиотеку, создав иерархию библиотеки. Однако можно использовать свойство коллбэка OpenFcn
блока Subsystem для других целей, например, чтобы запустить код MATLAB или открыть ссылку.
Если ваш блок подсистемы в библиотеке пуст, и ее коллбэк OpenFcn
содержит код, который выполняет действие кроме точки к библиотеке или модели, то необходимо добавить, что параметр маски 'ShowInLibBrowser'
к подсистеме, чтобы иметь его появляется в Браузере Библиотеки.
Щелкните правой кнопкой по подсистеме и выберите Mask> Create Mask. Если блок уже имеет маску, выберите Edit Mask вместо этого.
Во вкладке Mask Editor Parameters & Dialog, на панели Controls, нажимают Check box.
В панели Dialog box, устанавливает подсказка и имя для нового флажка к ShowInLibBrowser
и нажимать OK.
Можно добавить аннотации в пользовательской библиотеке и опционально сделать, чтобы они появились в Браузере Библиотеки. Например, можно добавить аннотацию, это документирует библиотеку. Можно также добавить аннотации, которые пользователь библиотеки может добавить в их модель от Браузера Библиотеки. Аннотации могут содержать текст и изображения или отобразить уравнение. Аннотации могут также выполнить действие, когда кликнувшийся. Узнайте больше об аннотациях в, Описывают Модели Используя Аннотации.
Можно добавить строки выноски от аннотаций до блоков в библиотеке. Однако выноски не появляются в Браузере Библиотеки.
Если вы хотите, чтобы аннотация появилась в Браузере Библиотеки, после того, как вы добавляете его в свою библиотеку, щелкните правой кнопкой по нему и выберите Show in Library Browser. Если вы хотите, чтобы описание появилось в подсказке, когда пользователь наводит на аннотацию в Браузере Библиотеки, добавьте описание в аннотацию программно. В команде MATLAB запрашивают, введите:
set_param(annotationHandle,'Description','descriptionText)
Чтобы получить указатель аннотации, используйте find_system
. Этот пример получает все аннотации в библиотеке mylib
:
ann = find_system('mylib','FindAll','on','Type','annotation');
Чтобы получить определенную аннотацию, включите регулярное выражение, ищут и задают часть текста аннотации с аргументом 'Name'
:
ann = find_system('mylib2',FindAll','on','RegExp',... 'on','Type','annotation','Name','matchingText');
Добавьте, что Библиотеки к Браузеру Библиотеки включают инструкции для добавления аннотации, которая появляется в Браузере Библиотеки.
Когда вы закрываете библиотеку, это становится заблокированным для редактирования. Когда вы затем открываете его, разблокировали его, если вы хотите внести изменения в него. Кликните по значку блокировки в нижнем левом углу библиотеки, чтобы разблокировать его. Кроме того, при попытке изменить заблокированную библиотеку, сообщение предлагает вам разблокировать ее.
Можно разблокировать библиотеку программно. В команде MATLAB запрашивают, введите:
set_param('library_name','Lock','off');
Заблокировать библиотеку программно, введите:
set_param('library_name','Lock','on');
По умолчанию пользователь блоков в вашей библиотеке может отключить ссылку на блоки библиотеки. Если вы хотите управлять редактированием соединенных блоков и препятствовать тому, чтобы пользователь блока отключил ссылки, можно заблокировать ссылки на библиотеку. Блокировка ссылок библиотеки препятствует тому, чтобы пользователь внес любые изменения в экземпляры блока.
В вашей библиотеке выберите Diagram> Lock Links To Library.
Чтобы понять, как пользователь блока взаимодействует с блоками от заблокированных библиотек, смотрите Ссылки Блокировки на Блоки в Библиотеке.