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 папку. Напишите одно определение группы для каждой новой папки. |
Чтобы добавить задачи и папки в Model Advisor, создайте sl_customization.m
файл на вашем MATLAB® путь. Затем создайте sl_customization()
функция в sl_customization.m
файл по пути MATLAB.
Совет
У вас может быть несколько sl_customization.m
файл по пути MATLAB.
Не помещать sl_customization.m
файл, который настраивает Model Advisor в корневой папке MATLAB или ее подпапках, кроме
папка. В противном случае Model Advisor игнорирует индивидуальные настройки, заданные в файле.matlabroot
/ работа
sl_customization
функция принимает один аргумент, объект менеджера индивидуальных настроек, как в этом примере:
function sl_customization(cm)
Объект диспетчера индивидуальной настройки включает методы регистрации собственных проверок, задач и папок. Используйте эти методы для регистрации индивидуальных настроек, характерных для вашего приложения, как описано в следующих разделах.
Диспетчер индивидуальной настройки предоставляет следующие методы регистрации пользовательских задач и папок:
addModelAdvisorTaskFcn
(@
factorygroupDefinitionFcn
)
Регистрирует задачи, которые вы определяете в
в By Task папку Model Advisor.factorygroupDefinitionFcn
The
аргумент является указателем на функцию, которая определяет проверки, добавляемые к Model Advisor как образцы factorygroupDefinitionFcn
ModelAdvisor.FactoryGroup
класс.
addModelAdvisorTaskAdvisorFcn
(@
taskDefinitionFcn
)
Регистрирует задачи и папки, которые вы определяете в
в папку в Model Advisor, которую вы задаете используя taskDefinitionFcn
ModelAdvisor.Root.publish
метод или ModelAdvisor.Group
класс.
The
аргумент является указателем на функцию, которая задает пользовательские задачи и папки. Simulink добавляет проверки и папки в Model Advisor как образцы taskDefinitionFcn
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. Затем зарегистрируйте пользовательскую задачу. В следующих разделах описывается, как задать пользовательские задачи.
Чтобы добавить проверку в несколько папок или одну пользовательскую папку:
Создайте проверку с помощью ModelAdvisor.Check
класс.
Зарегистрируйте обертку задачи для проверки.
Если вы хотите добавить чек в папки, которые еще не присутствуют, зарегистрируйтесь и создайте папки, используя ModelAdvisor.Group
класс.
Добавьте проверку к задаче с помощью ModelAdvisor.Task.setCheck
способ.
Добавьте задачу к каждой папке с помощью ModelAdvisor.Group.addTask
метод и идентификатор задачи.
Вы можете добавить MathWorks® проверяет пользовательские папки путем определения проверок как пользовательских задач. При добавлении чеков в качестве пользовательских задач можно идентифицировать чеки по идентификатору чека.
Чтобы найти идентификаторы проверки MathWorks:
В иераркии перейдите к папке, содержащей проверку MathWorks.
На правой панели Model Advisor выберите вкладку Source. Model Advisor отображает Title, TitleID и информацию о Source для каждой проверки в папке.
Примечание
Если вкладка Source недоступна, откройте Settings > Preferences и выберите Show Source Tab
Выберите и скопируйте 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.
Чтобы добавить пользовательскую папку:
Создайте папку с помощью ModelAdvisor.Group
или ModelAdvisor.FactoryGroup
классы.
Зарегистрируйте папку.
Вы можете задать расположение пользовательских папок в 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
ModelAdvisor.Check
| ModelAdvisor.FactoryGroup
| ModelAdvisor.Group
| ModelAdvisor.Procedure
| ModelAdvisor.Task
| publish