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

Обзор файла индивидуальной настройки

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

Примечание

Если папка By Product не отображается в окне Model Advisor, выберите Show By Product Folder в диалоговом окне Settings > Preferences.

ФункцияОписаниеТребуемый или опционный
sl_customization()Регистрирует собственные проверки и задачи, папки в Simulink® диспетчер индивидуальной настройки при запуске. Смотрите Define Your Own Custom Model Advisor Checks. Требуется для индивидуальных настроек Model Advisor.
Одно или несколько определений проверкиОпределяет собственные проверки. Смотрите Define Your Own Custom Model Advisor Checks.Требуется для собственных проверок и добавления собственных проверок к папке 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/ работа папка. В противном случае Model Advisor игнорирует индивидуальные настройки, заданные в файле.

sl_customization функция принимает один аргумент, объект менеджера индивидуальных настроек, как в этом примере:

function sl_customization(cm)

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

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

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

  • addModelAdvisorTaskFcn (@factorygroupDefinitionFcn)

    Регистрирует задачи, которые вы определяете в factorygroupDefinitionFcn в By Task папку Model Advisor.

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

  • addModelAdvisorTaskAdvisorFcn (@taskDefinitionFcn)

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

    The 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. На правой панели Model Advisor выберите вкладку Source. Model Advisor отображает Title, TitleID и информацию о Source для каждой проверки в папке.

    Примечание

    Если вкладка Source недоступна, откройте Settings > Preferences и выберите Show Source Tab

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

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

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

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

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

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

  • Чтобы поместить задачу в новую папку в By Task папке, используйте 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 Task Manager, используйте ModelAdvisor.Group класс.

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

Примечание

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

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

Следующие примеры показывают определение группы. Определение помещает задачи в папку, называемую My Group, под корнем 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

См. также

| | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте