Добавьте библиотеки к браузеру библиотеки

Этот пример показывает, как создать библиотеку блоков и добавить его к Simulink® Library Browser. Вы также добавляете аннотацию к библиотеке, которая появляется в Браузере Библиотеки.

Вы создаете функциональный slblocks, чтобы задать информацию о вашей библиотеке. Можно сохранить функцию как файл .mlx или .m. Вы не можете сохранить его как Pcode-файл.

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

  2. Добавьте блок Gain и два блока Подсистемы к библиотеке. Назовите блоки Подсистемы Subsystem1 и Subsystem2. В свойствах Subsystem2, набор обратный вызов OpenFcn к mylib2.

  3. В командной строке MATLAB® введите эту команду, чтобы включить образцовое свойство EnableLBRepository. Ваша библиотека может появиться в браузере, только если это свойство включено, когда вы сохраняете свою библиотеку.

    set_param(gcs,'EnableLBRepository','on');
  4. Сохраните библиотеку в папке по пути MATLAB. Для этого примера назовите библиотеку mylib.

  5. Создайте другую библиотеку mylib2 и добавьте некоторые блоки и аннотацию, которая содержит текст My annotation. Щелкните правой кнопкой по аннотации и выберите Show in Library Browser.

  6. Добавьте описание для аннотации. Описание появляется в Браузере Библиотеки, когда вы нависаете над аннотацией. Можно сделать это программно использование set_param. Используйте find_system, чтобы получить указатель аннотации. Используйте часть своего текста аннотации с аргументом 'Name'. Аргумент 'RegExp' включает частичные соответствия.

    ann = find_system('mylib2','findall','on','RegExp',...
    'on','Type','annotation','Name','annotation');
    set_param(ann,'Description',...
    'Use this annotation to label the model.');
  7. Сохраните mylib2 в ту же папку, к которой вы сохранили mylib.

    Можно закрыть обе библиотеки, если вы хотите.

  8. В MATLAB щелкните правой кнопкой по папке, к которой вы сохранили библиотеку, и выберите New File> Script. Назовите файл slblocks.m m.

  9. Открытый slblocks.m m. Добавьте эту функцию к нему и сохраните.

    function blkStruct = slblocks
    		% This function specifies that the library should appear
    		% in the Library Browser
    		% and be cached in the browser repository
    
    		Browser.Library = 'mylib';
    		% 'mylib' is the name of the library
    
    		Browser.Name = 'My Library';
    		% 'My Library' is the library name that appears 
                 % in the Library Browser
    
    		blkStruct.Browser = Browser; 

  10. В Браузере Библиотеки, обновление, чтобы видеть новую библиотеку. Щелкните правой кнопкой по списку библиотек и выберите Refresh Library Browser.

    Данные показывают, что библиотека mylib в качестве примера с Браузером Библиотеки называет Мою Библиотеку.

    Из-за обратного вызова вы создали, нажатие по Subsystem2 отображает содержимое библиотеки mylib2. Парение над аннотацией в Браузере Библиотеки отображает описание.

Примечание

Если вы сохранили свою библиотеку без установки 'EnableLBRepository' к 'on', сообщение появляется наверху Браузера Библиотеки.

Нажмите Fix и ответьте на подсказку как соответствующую.

Задайте порядок библиотеки в списке библиотек

Можно задать порядок библиотеки относительно других библиотек в списке путем добавления файла sl_customization.m к пути MATLAB и установки приоритета вида библиотеки. Например, чтобы видеть вашу библиотеку наверху списка, можно установить приоритет вида на -2. По умолчанию приоритетом вида Библиотеки Simulink является -1. Другие библиотеки имеют приоритет вида 0 по умолчанию, и эти библиотеки появляются ниже Библиотеки Simulink. Библиотеки с тем же приоритетом вида появляются в алфавитном порядке.

Это демонстрационное содержимое файла sl_customization.m размещает новую библиотеку наверху списка библиотек.

function sl_customization(cm)
% Change the order of libraries in the Simulink Library Browser. 
cm.LibraryBrowserCustomizer.applyOrder({'My Library',-2});
end

Чтобы заставить индивидуальную настройку сразу вступить в силу, в командной строке, войдите:

sl_refresh_customizations

Связанные примеры

Больше о

Была ли эта тема полезной?