ModelAdvisor.ResultDetail class

Пакет: ModelAdvisor

Задает объекты детали результата

Описание

В функции обратного вызова проверки, ModelAdvisor.ResultDetail объекты создаются для каждого элемента модели, возвращенного find_system() API, такой как набор блоков, которые нарушают проверку.

ResultDetailObjs объекты сохранены как ResultDetails свойство ModelAdvisor.Check класс.

Свойства

развернуть все

Обеспечивает информационное содержимое.

Типы данных: логический

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

Типы данных: логический

Задайте сообщение, которое описывает результат. Этот текст представлен в панели результата Model Advisor.

Типы данных: char

Задайте заголовок для результата. Этот текст представлен в панели результата Model Advisor.

Типы данных: char

Задайте сообщение, которое предоставляет дополнительную информацию о результате. Этот текст представлен в панели результата Model Advisor.

Типы данных: char

Задайте сообщение о состоянии для результата. Текст представлен в панели результата Model Advisor.

Типы данных: char

Задайте рекомендуемое сообщение действия для результата. Текст представлен в панели результата Model Advisor.

Типы данных: char

Примеры

Этот пример показывает детали результата, которые соответствуют выполнению проверки "Проверка, появляются ли имена блока ниже блоков" в slvnvdemo_mdladv модель в качестве примера. Чтобы рассмотреть определение проверки, откройте sl_customization.m файл из модели в качестве примера и видит пример кода для ModelAdvisor.Check('com.mathworks.sample.Check0').

Задайте набор объектов детали результата

От slvnvdemo_mdladv модель в качестве примера, открытая sl_customization.m файл. В функции обратного вызова проверки, find_system() API возвращает элементы модели в system это соответствует заданным критериям. В этом примере функция возвращает блоки, имя которых не появляется ниже блока (violationBlks).

% find all blocks whose name does not appear below blocks
violationBlks = find_system('System','Type','block','NamePlacement','alternate','ShowName', 'on');

ModelAdvisor.ResultDetail создает ResultDetailObjs для каждого элемента модели, возвращенного find_system API. Когда violationBlks пусто, ElementResults набор состоит из отдельного объекта. Name,Value пары задают набор для ненарушенной проверки. Для этого типа набора, Simulink.ModelAdvisor.setCheckResultStatus(true) метод указывает, что проверка не нарушена и отображает Passed на Model Advisor.

В этом примере кода, find_system API не идентифицирует блоки, имя которых появляется ниже блока, поэтому ElementResults обеспечивает информационное содержимое только.

% Results when no blocks 
% violate the check
if isempty(violationBlks)
    ElementResults = ModelAdvisor.ResultDetail;
        ElementResults.IsInformer = true;
        ElementResults.Title = 'Identify blocks where the name is not displayed below the block.';
        ElementResults.Information = 'Verifies that the name appears below the block.';
        ElementResults.Description = 'Identify blocks where the name is not displayed below the block.';
        ElementResults.Status = 'All blocks have names displayed below the block.';       
    mdladvObj.setCheckResultStatus(true);                

Этот пример показывает ModelAdvisor.ResultDetail свойства для ElementResults когда проверка "Проверка, появляются ли имена блока ниже блоков", не нарушена.

 ElementResults = 
 ResultDetail with properties:
    IsInformer = 1
    Description = 'Identify blocks where the name is not displayed below the block.'        
    Title = 'Check whether block names appear below blocks'
    Information = 'Verifies that the name appears below the block.'
    Status = 'All blocks have names displayed below the block.'
    

Когда find_system API возвращает список элементов модели, которые соответствуют заданным критериям, ModelAdvisor.ResultDetail класс создает ResultDetailObjs объект для каждого элемента в violationBlks. Name,Value пары задают ElementResults как набор объектов, которые нарушают проверку. Для этого набора, Simulink.ModelAdvisor.setCheckResultStatus(false) метод указывает, что проверка нарушена и отображает Warning или Failed на Model Advisor. Simulink.ModelAdvisor.setActionEnable(true) метод включает способности устранить проблему нарушения проверки от Model Advisor.

В этом примере кода, find_system API возвращает список блоков, имя которых появляется ниже блока. ElementResults включает каждый ResultDetailObjs объект, который нарушает проверку и предоставляет рекомендуемое сообщение действия для фиксации нарушения проверки.

% Create results when blocks violate the check
else
    ElementResults(1,numel(violationBlks))=ModelAdvisor.ResultDetail;
    for i=1:numel(ElementResults)
        ElementResults(i).setData(violationBlks{i});
        ElementResults.Title = 'Identify blocks where the name is not displayed below the block.';  
        ElementResults.Information = 'Verifies that the name appears below the block.';  
        ElementResults.Description = 'Identify blocks where the name is not displayed below the block.';  
        ElementResults.Status = 'The following blocks have names that do not display below the blocks:';   
        ElementResults.RecAction = 'Change the location such that the block name is below the block.'; 
    end                
    mdladvObj.setCheckResultStatus(false);  
    mdladvObj.setActionEnable(true);          
 

Этот пример показывает ModelAdvisor.ResultDetail свойства для ElementResults когда проверка "Проверка, появляются ли имена блока ниже блоков", нарушена.

ElementResults = 
ResultDetail with properties:
    IsInformer = 0;
    Description = 'Identify blocks where the name is not displayed below the block.';          
    Title = 'Check whether block names appear below blocks';
    Information = 'Verifies that the name appears below the block.';
    Status = 'The following blocks have names that do not display below the blocks:';
    RecAction = 'Change the location such that the block name is below the block.'     
    

ModelAdvisor.Check.setResultDetails метод сопоставляет результаты с проверкой (CheckObj).

% Associate the results with the check
CheckObj.setResultDetails([CheckObj.ResultDetails, ElementResults]);   
 

После выполнения проверки можно просмотреть результаты в Model Advisor как набор, такой как рекомендуемым действием, блоком или подсистемой. Чтобы задать этот стиль отчета, задайте 'DetailStyle'как стиль коллбэка в ModelAdvisor.Check.setCallbackFcn метод.

% Define Model Advisor check "Check whether block names appear 
% below blocks".
rec = ModelAdvisor.Check('com.mathworks.sample.Check0');
rec.Title = 'Check whether block names appear below blocks (recommended check style)';  
rec.TitleTips = 'Example new style callback (recommended check style)';
rec.setCallbackFcn(@SampleNewCheckStyleCallback,'None','DetailStyle');
    

Введенный в R2018b