exponenta event banner

Программная настройка задач и папок для Model Advisor

Обзор файла адаптации

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

Примечание

Если папка По продукту (By Product) не отображается в окне Мастер модели (Model Advisor), выберите Показать по папке продукта (Show By Product Folder) в диалоговом окне Настройки (Settings) > Настройки (Preferences).

ФункцияОписаниеОбязательно или необязательно
sl_customization()Регистрирует пользовательские проверки и задачи, папки в диспетчере настройки Simulink ® при запуске. См. раздел Определение собственных пользовательских проверок помощника по модели .Требуется для настройки в Model Advisor.
Одно или несколько определений проверкиОпределяет пользовательские проверки. См. раздел Определение собственных пользовательских проверок помощника по модели.Требуется для пользовательских проверок и для добавления пользовательских проверок в папку By Product.
Одно или несколько определений задачОпределяет пользовательские задачи. См. раздел Определение настраиваемых задач.Требуется для добавления пользовательских проверок в Model Advisor, за исключением случаев добавления проверок в папку By Product. Запишите по одной задаче для каждой проверки, добавляемой в Model Advisor.
Одна или несколько группОпределяет пользовательские группы. См. раздел Определение настраиваемых задач.Требуется для добавления пользовательских задач в новые папки в Model Advisor, за исключением добавления новой подпапки в папку By Product. Запишите одно определение группы для каждой новой папки.

Регистрация задач и папок

Создать функцию sl_customization

Чтобы добавить задачи и папки в Model Advisor, создайте sl_customization.m файл по пути MATLAB ®. Затем создайте sl_customization() функции в sl_customization.m файл по пути MATLAB.

Совет

  • Вы можете иметь более одного sl_customization.m файл по пути MATLAB.

  • Не размещать sl_customization.m файл, который настраивает Model Advisor в вашей корневой папке MATLAB или ее подпапках, за исключением matlabroot/work папка. В противном случае помощник по модели игнорирует настройки, указанные в файле.

sl_customization функция принимает один аргумент, объект диспетчера настройки, как в этом примере:

function sl_customization(cm)

Объект диспетчера настроек включает методы регистрации пользовательских проверок, задач и папок. Эти методы используются для регистрации настроек, специфичных для приложения, как описано в следующих разделах.

Регистрация задач и папок

Диспетчер настройки предоставляет следующие методы регистрации пользовательских задач и папок:

  • addModelAdvisorTaskFcn (@factorygroupDefinitionFcn)

    Регистрация задач, определенных в factorygroupDefinitionFcn в папку By Task помощника по модели.

    factorygroupDefinitionFcn аргумент является дескриптором функции, определяющей проверки для добавления в Model Advisor в качестве экземпляров ModelAdvisor.FactoryGroup класс.

  • addModelAdvisorTaskAdvisorFcn (@taskDefinitionFcn)

    Регистрация задач и папок, определенных в taskDefinitionFcn в папку в Model Advisor, заданную с помощью ModelAdvisor.Root.publish метод или ModelAdvisor.Group класс.

    taskDefinitionFcn аргумент является дескриптором функции, определяющей пользовательские задачи и папки. Simulink добавляет проверки и папки в Model Advisor в качестве экземпляров ModelAdvisor.Task или ModelAdvisor.Group классы.

В следующем примере показано, как зарегистрировать пользовательские задачи и папки:

function sl_customization(cm)

% register custom factory group
cm.addModelAdvisorTaskFcn(@defineModelAdvisorTasks);

% register custom tasks.
cm.addModelAdvisorTaskAdvisorFcn(@defineTaskAdvisor);

Примечание

При добавлении пользовательских проверок в sl_customization.m , включить методы регистрации проверок в sl_customization функция.

Определение настраиваемых задач

Добавление проверки в настраиваемые или несколько папок с помощью задач

Настраиваемые задачи можно использовать для добавления проверок в Model Advisor либо в нескольких папках, либо в одной настраиваемой папке. Пользовательские задачи определяются в одной или нескольких функциях, задающих свойства каждого экземпляра ModelAdvisor.Task класс. Определите один экземпляр этого класса для каждой пользовательской задачи, которую необходимо добавить в Model Advisor. Затем зарегистрируйте пользовательскую задачу. В следующих разделах описывается определение пользовательских задач.

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

  1. Создание чека с помощью ModelAdvisor.Check класс.

  2. Зарегистрируйте оболочку задачи для проверки.

  3. Если вы хотите добавить чек к папкам, которые еще не присутствуют, зарегистрируйте и создайте папки с помощью ModelAdvisor.Group класс.

  4. Добавление проверки к задаче с помощью ModelAdvisor.Task.setCheck способ.

  5. Добавьте задачу в каждую папку с помощью ModelAdvisor.Group.addTask метод и идентификатор задачи.

Создание пользовательских задач с помощью проверок MathWorks

Можно добавить проверки MathWorks ® в пользовательские папки, определив проверки как пользовательские задачи. При добавлении проверок в качестве пользовательских задач они идентифицируются по идентификатору проверки.

Чтобы найти идентификаторы проверки MathWorks:

  1. В иерархии перейдите к папке, содержащей проверку MathWorks.

  2. На правой панели помощника по модели выберите вкладку Источник (Source). Для каждой проверки в папке помощник по модели отображает сведения о названии, коде и источнике.

    Примечание

    Если вкладка "Источник" недоступна, откройте "Параметры" > "Установки" и выберите "Показать вкладку" Источник ".

  3. Выберите и скопируйте ID проверки, которую требуется добавить в качестве задачи.

Отображение и включение задач

Visible, Enable, и Value свойства взаимодействуют для задач так же, как и для проверок.

Определить, где отображаются задачи

Можно указать, где помощник по модели размещает задачи в помощнике по модели, используя следующие рекомендации.

  • Чтобы поместить задачу в новую папку в диспетчере задач Model Advisor, используйте ModelAdvisor.Group класс.

  • Чтобы поместить задачу в новую папку в папке «По задаче», используйте ModelAdvisor.FactoryGroup класс.

Функция определения задачи

В следующем примере показана функция определения задачи. Эта функция определяет три задачи.

% Defines Model Advisor tasks and a custom folder
% Add checks to a custom folder using task definitions
function defineTaskAdvisor
mdladvRoot = ModelAdvisor.Root;

% Define task that uses Sample Check 0: Check whose Results are Viewed as Detailed Result Collections
MAT8 = ModelAdvisor.Task('com.mathworks.sample.TaskSample8');
MAT8.DisplayName='Example task using new check style (recommended style)';
MAT8.setCheck('com.mathworks.sample.Check0');
mdladvRoot.register(MAT8);

% Define task that uses Sample Check 1: Informational check
MAT1 = ModelAdvisor.Task('mathworks.example.task.configManagement');
MAT1.DisplayName = 'Informational check for model configuration management';
MAT1.Description = 'Display model configuration and checksum information.';
setCheck(MAT1, 'mathworks.example.configManagement');
mdladvRoot.register(MAT1);

% Define task that uses Sample Check 2: Basic Check with Pass/Fail Status
MAT2 = ModelAdvisor.Task('mathworks.example.task.unconnectedObjects');
MAT2.DisplayName = 'Check for unconnected objects';
setCheck(MAT2, 'mathworks.example.unconnectedObjects');
MAT2.Description = ['Identify unconnected lines, input ports, and output ' ...
                                      'ports in the model or subsystem.'];
mdladvRoot.register(MAT2);

% Define task that uses Sample Check 3: Check with Subresults and Actions
MAT3 = ModelAdvisor.Task('mathworks.example.task.optimizationSettings');
MAT3.DisplayName = 'Check safety-related optimization settings';
MAT3.Description = ['Check model configuration for optimization ' ...
                    'settings that can impact safety.'];
MAT3.setCheck('mathworks.example.optimizationSettings');
mdladvRoot.register(MAT3);

% Custom folder definition
MAG = ModelAdvisor.Group('mathworks.example.ExampleGroup');
MAG.DisplayName = 'My Group';
% Add tasks to My Group folder
MAG.addTask(MAT8);
addTask(MAG, MAT1);
addTask(MAG, MAT2);
addTask(MAG, MAT3);
% Add My Group folder to the Model Advisor under 'Model Advisor' (root)
mdladvRoot.publish(MAG);

Определение настраиваемых папок

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

Используйте папки для группирования проверок в Model Advisor по функциям или использованию. Пользовательские папки определяются в:

  • Функция определения группы фабрики, определяющая свойства каждого экземпляра ModelAdvisor.FactoryGroup класс.

  • Функция определения задачи, определяющая свойства каждого экземпляра ModelAdvisor.Group класс.

Определите один экземпляр классов групп для каждой папки, которую требуется добавить в Model Advisor.

Добавить настраиваемые папки

Чтобы добавить пользовательскую папку, выполните следующие действия.

  1. Создайте папку с помощью ModelAdvisor.Group или ModelAdvisor.FactoryGroup классы.

  2. Зарегистрируйте папку.

Определить, где отображаются пользовательские папки

Расположение пользовательских папок в модуле Model Advisor можно задать с помощью следующих инструкций.

  • Чтобы определить новую папку в диспетчере задач Model Advisor, используйте ModelAdvisor.Group класс.

  • Чтобы определить новую папку в папке «По заданию», используйте ModelAdvisor.FactoryGroup класс.

Примечание

Чтобы определить новую папку в папке «По продукту», используйте ModelAdvisor.Root.publish в рамках пользовательской проверки. Если папка По продукту (By Product) не отображается в окне Мастер модели (Model Advisor), выберите Показать по папке продукта (Show By Product Folder) в диалоговом окне Настройки (Settings) > Настройки (Preferences).

Определение группы

В следующих примерах показано определение группы. Определение помещает задачи в папку «Моя группа» в корневом каталоге Model Advisor. Функция определения задачи включает это определение группы.

% Custom folder definition
MAG = ModelAdvisor.Group('mathworks.example.ExampleGroup');
MAG.DisplayName='My Group';
% Add tasks to My Group folder
MAG.addTask(MAT8);
MAG.addTask(MAT1);
MAG.addTask(MAT2);
MAG.addTask(MAT3);
% Add My Group folder to the Model Advisor under 'Model Advisor' (root)
mdladvRoot.publish(MAG);

В следующем примере показана функция определения группы фабрики. Определение помещает чеки в папку Demo Factory Group внутри папки By Task.

function defineModelAdvisorTasks
mdladvRoot = ModelAdvisor.Root;

% --- sample factory group
rec = ModelAdvisor.FactoryGroup('com.mathworks.sample.factorygroup');
rec.DisplayName='Demo Factory Group';
rec.Description='Demo Factory Group';
rec.addCheck('com.mathworks.sample.Check0');
rec.addCheck('mathworks.example.configManagement');
rec.addCheck('mathworks.example.unconnectedObjects');
rec.addCheck('mathworks.example.optimizationSettings');
mdladvRoot.publish(rec); % publish inside By Task

См. также

| | | | |

Связанные темы