ModelAdvisor.ResultDetail class

Пакет: ModelAdvisor

Определяет объекты детализации результатов

Описание

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

Свойства

расширить все

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

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

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

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

Предоставляет информационное содержимое.

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

Предоставляет информационное содержимое и рекомендуемое сообщение о действии для устранения проблем.

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

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

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

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

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

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

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

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

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

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

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

Методы

setDataСвязать идентификатор Simulink с объектом ModelAdvisor.ResultDetail

Примеры

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

Определение набора объектов подробных данных результатов

The 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 набор состоит из одного объекта. The 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. The Name,Value пары задают ElementResults как набор объектов, нарушающих проверку. Для этого набора, Simulink.ModelAdvisor.setCheckResultStatus(false) метод задает, что проверка нарушена, и отображает Warning или Failed на Model Advisor. The 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);          
 

The 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