Можно создать собственную библиотеку и, опционально, добавить его к 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');
Чтобы добавить описание, которое появляется в соединенном блоке, замаскируйте блок библиотеки и добавьте описание в панели Документации маски. Описания, добавленные к блоку библиотеки через свойства блока, не появляются на соединенном блоке.
Общее использование блока Subsystem в пользовательской библиотеке должно установить свойство обратного вызова OpenFcn
открыть библиотеку, создав иерархию библиотеки. Однако можно использовать свойство обратного вызова OpenFcn
блока Subsystem для других целей, например чтобы запустить код MATLAB или открыть ссылку.
Если ваш блок подсистемы в библиотеке пуст, и ее обратный вызов OpenFcn
содержит код, который выполняет действие кроме точки к библиотеке или модели, то необходимо добавить, что параметр маски 'ShowInLibBrowser'
к подсистеме, чтобы иметь его появляется в Браузере Библиотеки.
Щелкните правой кнопкой по подсистеме и выберите Mask> Create Mask. Если блок уже имеет маску, выберите Edit Mask вместо этого.
Во вкладке Mask Editor Parameters & Dialog, на панели Средств управления, Флажке нажатия кнопки.
В панели Диалогового окна, устанавливает подсказка и имя для нового флажка к ShowInLibBrowser
и нажимать ОК.
Можно добавить аннотации в пользовательской библиотеке и опционально сделать, чтобы они появились в Браузере Библиотеки. Например, можно добавить аннотацию, это документирует библиотеку. Можно также добавить аннотации, которые пользователь библиотеки может добавить к их модели от Браузера Библиотеки. Аннотации могут содержать текст и изображения или отобразить уравнение. Аннотации могут также выполнить действие, когда кликнувшийся. Узнайте больше об аннотациях в, Описывают Модели Используя Аннотации.
Можно добавить строки выноски от аннотаций до блоков в библиотеке. Однако выноски не появляются в Браузере Библиотеки.
Если вы хотите, чтобы аннотация появилась в Браузере Библиотеки, после того, как вы добавляете его к своей библиотеке, щелкните правой кнопкой по нему и выберите 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.
Чтобы понять, как блочный пользователь взаимодействует с блоками от заблокированных библиотек, смотрите Ссылки Блокировки на Блоки в Библиотеке.