exponenta event banner

Класс ModelAdvisor.ResultDetail

Пакет: ModelAdvisor

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

Описание

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

Свойства

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

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

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

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

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

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

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

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

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

Укажите сообщение, описывающее результат. Этот текст отображается на панели результатов помощника по модели.

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

Укажите заголовок для результата. Этот текст отображается на панели результатов помощника по модели.

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

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

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

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

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

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

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

Методы

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

Примеры

В этом примере показаны подробные данные результата, соответствующие выполнению проверки Проверьте, отображаются ли имена блоков под блоками в 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 на панели «Консультант по модели».

В этом образце кода 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 на панели «Консультант по модели». 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