Создайте пользовательскую библиотеку

Можно создать собственную библиотеку и, опционально, добавить его в Simulink® Library Browser. Вы сохраняете библиотеку как .slx файл, когда вы делаете модель. Однако вы не можете симулировать в библиотеке, и библиотека становится заблокированной для редактирования каждый раз, когда вы закрываете его. Необходимо разблокировать библиотеку, прежде чем вы внесете изменения в нее. Смотрите Блокировку и Разблокируйте Библиотеки.

  1. От начальной страницы Simulink выберите Blank Library и нажмите Create Library.

    Примечание

    Браузер Библиотеки только поддерживает библиотеки. Вы не можете отобразить содержимое модели в Браузере Библиотеки.

  2. (Необязательно) Задайте типы данных, которые будут использоваться в интерфейсах блока в словаре данных Simulink. Затем присоедините словарь данных к библиотеке. Пользователи библиотеки автоматически получают доступ к данным, содержавшимся в словаре, когда они перетаскивают блок из библиотеки в их модель.

  3. Добавьте блоки в новую библиотеку. Внесите изменения, которые вы хотите с блоками, такими как изменяющиеся параметры блоков, добавляя маски, или добавляя блоки в подсистемы.

    Имена подсистемы в иерархии библиотеки должны быть уникальными. Например, не создавайте иерархию, такую как Subsystem_Name1/Subsystem_Name2/Subsystem_Name1.

  4. Добавьте аннотации или изображения. Щелкните правой кнопкой по тем, вы хотите появиться в библиотеке в Браузере Библиотеки и выбрать Show in Library Browser.

  5. Если вы планируете добавить библиотеку в Браузер Библиотеки, можно заказать блоки и аннотации в библиотеке. По умолчанию они появляются в алфавитном порядке в Браузере Библиотеки с подсистемами сначала, затем блокируется, и затем аннотации. Пользователь вашей библиотеки может использовать контекстное меню Library Browser, чтобы выбрать между просмотром их в алфавитном порядке или порядка, который вы задали. Когда пользователь выбирает эту опцию, порядок, в котором они появляются в вашей библиотеке, определяет порядок, они появляются на сетке в библиотеке в Браузере Библиотеки.

  6. Если вы хотите, чтобы библиотека появилась в Браузере Библиотеки, включите EnableLBRepository свойство библиотеки, прежде чем вы сохраните библиотеку.

    set_param(gcs,'EnableLBRepository','on');

  7. Сохраните библиотеку.

    То, где вы сохраняете библиотеку, зависит от того, как вы планируете использовать ее. Если вы хотите добавить его в Браузер Библиотеки, сохранить его в папку на пути MATLAB® или добавить местоположение в путь MATLAB. В противном случае сохраните его в местоположение, где модели, которые используют блоки, могут получить доступ к нему.

Если вы хотите, чтобы библиотека появилась в Браузере Библиотеки, необходимо также создать функциональный slblocks на вашем пути MATLAB, который добавляет библиотеку в браузер. Для примера, который показывает полные шаги для добавления библиотеки к браузеру, смотрите, Добавляют Библиотеки к Браузеру Библиотеки.

Примечание

Чтобы обновить Браузер Библиотеки с вашими пользовательскими библиотеками, щелкните правой кнопкой где угодно по библиотеке Library Browser, перечисляют и выбирают Refresh Library Browser. Обновление Браузера Библиотеки также обновляет быстрое меню вставки, чтобы включать блоки в пользовательские библиотеки в настоящее время в действительности. Быстрое меню вставки позволяет вам добавить блоки в модель, не оставляя холст. Кликните по холсту и начните вводить, чтобы добавить блоки из быстрого меню вставки.

Словарь данных для пользовательских библиотек

Когда вы задаете типы данных — такие как шина и перечисляемые типы — чтобы использоваться в интерфейсах блока, можно сделать эти типы данных доступными для пользователей путем хранения их в словаре данных, который присоединен к библиотеке. Когда пользователь перетаскивает блок из библиотеки в их модель, модель автоматически получает доступ к данным, содержавшимся в словаре.

  1. Создайте словарь данных.

  2. В словаре задайте объекты шины, перечисляемые типы или другие объекты данных, которые вы будете использовать для интерфейсных определений своих библиотечных блоков.

  3. Присоедините словарь как внешний источник данных для вашей библиотеки программно при помощи set_param или в пользовательском интерфейсе при помощи вкладки External Data в диалоговом окне Library Properties. Model Explorer отображает присоединенный словарь и его содержимое как внешний источник данных для библиотеки.

  4. Чтобы сохранить технические требования словаря данных, сохраните библиотеку.

Типы, которые вы задали в библиотеке, теперь доступны для вас при разработке библиотечных блоков. См. Словарь Данных о Ссылке к Пользовательским Библиотекам.

Блоки для пользовательских библиотек

Ваша библиотека может содержать блоки, в которых вы нуждаетесь, сконфигурированный в ваших целях. Подсистемы, маскированные блоки и графики в вашей библиотеке становятся соединенными блоками как экземплярами в модели и остаются в курсе, если вы изменяете их в своей библиотеке. Знание о пользовательских блоках также полезно, когда вы создаете библиотеку. См. Проект и Создайте Пользовательский блок.

Можно создать блоки в пользовательских библиотеках с настройками в определенных целях.

Создайте подбиблиотеку

Если ваша библиотека содержит много блоков, можно сгруппировать блоки в подсистемы или разделить подбиблиотеки. Чтобы создать подбиблиотеку, вы создаете библиотеку подбиблиотечных блоков и ссылаетесь на библиотеку от блока Subsystem в родительской библиотеке.

  1. В библиотеке вы хотите добавить подбиблиотеку в, добавить блок Subsystem.

  2. В блоке Subsystem удалите порты ввода и вывода по умолчанию.

  3. Если вы хотите, создаете маску для подсистемы, которая отображает текст или изображение, которое передает цель подбиблиотеки.

  4. В подсистеме блокируют свойства, набор OpenFcn коллбэк к имени библиотеки вы хотите сослаться.

Чтобы узнать больше о масках, смотрите, Создают Простую Маску.

Препятствуйте тому, чтобы библиотечный блок соединился с экземпляром

Можно сконфигурировать библиотечный блок, таким образом, экземпляры, созданные из него, не соединяются блоки и являются вместо этого копиями. Установите CopyFcn блока 'callback'.

set_param(gcbh,'LinkStatus','none'); 

Включайте описание блока в соединенный блок

Чтобы добавить описание, которое появляется в соединенном блоке, замаскируйте библиотечный блок и добавьте описание в панели Documentation маски. Описания, добавленные к библиотечному блоку через свойства блока, не появляются на соединенном блоке.

Сконфигурируйте блок с ключевыми словами для быстрой вставки

Можно добавить одно или несколько ключевых слов в блок в библиотеке. Ключевое слово позволяет вам добавить блок в свою модель в быстром меню вставки путем ввода ключевого слова или имени блока.

Например, предположите, что у вас есть пользовательский блок Gain в вашей библиотеке. Можно добавить ключевое слово My Gain с блоком. Затем можно добавить блок в модель путем ввода My Gain в быстром меню вставки.

Примечание

Вы не можете добавить ключевые слова в блоки из Commonly Used Blocks, когда они - место, чтобы просмотреть часто используемые блоки из различных библиотек. Если вы хотите добавить ключевые слова в блок, доступный в Commonly Used Blocks, убедитесь, что вы устанавливаете его в библиотеке, где блок задан.

Чтобы добавить ключевое слово в блок в вашей библиотеке, использовать set_param с 'BlockKeywords' параметр. Можно использовать вектор символов, строковый скаляр или массив строк как значение. Например:

set_param(gcb,'BlockKeywords',{"My Gain","Your Gain"})
set_param(gcb,'BlockKeywords','My Integrator')

Примечание

Поддерживаемыми специальными символами в ключевых словах является '&', '(', ')', '+', '@', '!'.

Примечание

Быстрое меню вставки также поддерживает поиск блоков на языках кроме английского языка при помощи интернационализировавших ключевых слов.

Сконфигурируйте подсистемы с коллбэком OpenFcn для браузера библиотеки

Общее использование блока Subsystem в пользовательской библиотеке должно установить OpenFcn свойство коллбэка открыть библиотеку, создавая иерархию библиотеки. Однако можно использовать OpenFcn свойство коллбэка блока Subsystem для других целей, например, чтобы запустить код MATLAB или открыть ссылку.

Если блок Subsystem в библиотеке пуст и ее OpenFcn коллбэк содержит код, который выполняет действие кроме точки к библиотеке, затем необходимо добавить 'ShowInLibBrowser' параметр маски к подсистеме, чтобы иметь его появляется в Браузере Библиотеки.

  1. Щелкните правой кнопкой по подсистеме и выберите Mask> Create Mask. Если блок уже имеет маску, выберите Edit Mask вместо этого.

  2. Во вкладке Mask Editor Parameters & Dialog, на панели Controls, нажимают Check box.

  3. В панели 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');

Предотвратите отключение ссылок библиотеки

По умолчанию пользователь блоков в вашей библиотеке может отключить ссылку на библиотечные блоки. Если вы хотите управлять редактированием соединенных блоков и препятствовать тому, чтобы пользователь блока отключил ссылки, можно заблокировать ссылки на библиотеку. Блокировка ссылок библиотеки препятствует тому, чтобы пользователь внес любые изменения в экземпляры блока.

  • В вашей библиотеке, на вкладке Library, нажимают Lock Links.

Чтобы изучить, как пользователь блока взаимодействует с блоками из заблокированных библиотек, смотрите Ссылки Блокировки на Блоки в Библиотеке.

Похожие темы