ModelAdvisor.ResultDetail class

Пакет: ModelAdvisor

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

Описание

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

Свойства

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

Идентификатор Simulink (SID) для каждого блока, который нарушает проверку. В функции обратного вызова проверки задайте идентификатор путем передачи указателя на блок к setData метод.

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

Идентификатор Simulink (SID) является типом данных по умолчанию ModelAdvisor.ResultDetail объект.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Методы

setDataСопоставьте идентификатор Simulink с ModelAdvisor.ResultDetail object

Примеры

Этот пример показывает детали результата, которые соответствуют выполнению проверки Check whether block names appear below blocks в AdvisorCustomizationExample модель. Чтобы просмотреть файлы в этом примере, смотрите, Создают и Развертывают Пользовательскую конфигурацию Model Advisor.

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

defineDetailStyleCheck проверяйте, что функция определения содержит DetailStyleCallback проверяйте функцию обратного вызова. Возвратить элементы модели в system это соответствует заданным критериям, DetailStyleCallback функционируйте использует find_system API. В этом примере, find_system() API возвращает блоки, имя которых не появляется ниже блока (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 обеспечивает информационное содержимое только.

if isempty(violationBlks)
    ElementResults = ModelAdvisor.ResultDetail;
    ElementResults.IsInformer = true;
    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);                

Когда 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 объект, который нарушает проверку и предоставляет рекомендуемое сообщение действия для фиксации нарушения проверки.

else
    ElementResults(1,numel(violationBlks))=ModelAdvisor.ResultDetail;
    for i=1:numel(ElementResults)
        ElementResults(i).setData(violationBlks{i});  
        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.Check.setResultDetails метод сопоставляет результаты с проверкой (CheckObj).

CheckObj.setResultDetails(ElementResults);   
 

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

% Create ModelAdvisor.Check object and set properties.
rec = ModelAdvisor.Check('com.mathworks.sample.detailStyle');
rec.Title = 'Check whether block names appear below blocks';  
rec.TitleTips = 'Check position of block names';
rec.setCallbackFcn(@DetailStyleCallback,'None','DetailStyle');
    

Введенный в R2018b