exponenta event banner

Исключить блоки из пользовательских проверок

В этом примере показано, как исключить блоки из пользовательских проверок. Чтобы сэкономить время во время разработки и проверки модели, можно исключить отдельные блоки из пользовательских проверок во время анализа Model Advisor. Чтобы исключить пользовательские проверки из блоков Simulink и диаграмм Stateflow, используйте ModelAdvisor.Check.supportExclusion и Simulink.ModelAdvisor.filterResultWithExclusion функции в файле определения проверки.

Обновить файл определения проверки

  1. Укажите папку, доступную для записи.

  2. Копировать сценарий prepare_cust_chk_code в текущую папку и запустите сценарий. Сценарий копирует необходимые для этого примера файлы в текущую папку.

    copyfile(fullfile(matlabroot,'examples','slcheck','main','prepare_cust_chk_code.m'),...
        'prepare_cust_chk_code.m','f');
    run('prepare_cust_chk_code.m');

  3. Откройте окно defineDetailStyleCheck файл.

  4. Чтобы обновить проверку положения имен блоков (Check position of block names), чтобы исключить блоки во время анализа Model Advisor, внесите две изменения в defineDetailStyleCheck файл.

    1. Включить проверку положения имен блоков для поддержки исключений проверок с помощью ModelAdvisor.Check.supportExclusion собственность. После rec.setCallbackFcn(@DetailStyleCallback,'None','DetailStyle');, добавить rec.supportExclusion = true;. Первый раздел function defineDetailStyleCheck теперь выглядит следующим образом:

      % 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');
      rec.supportExclusion = true;
      

    2. Используйте Simulink.ModelAdvisor.filterResultWithExclusion фильтрация объектов модели, вызывающая предупреждение проверки или сбой с включенными исключениями. Для этого измените DetailStyleCallback(system, CheckObj) выполнять следующие функции:

      % Find all blocks whose name does not appear below blocks
      violationBlks = find_system(system, 'Type','block',...
          'NamePlacement','alternate',...
          'ShowName', 'on');
      violationBlks = mdladvObj.filterResultWithExclusion(violationBlks);
      

  5. Сохранить DefineDetailStyleCheck файл. При появлении запроса на перезапись файла нажмите кнопку «ОК».

Создание и сохранение исключений

  1. Чтобы настройки были видны в Model Advisor, необходимо обновить кэш сведений проверки Model Advisor. В командной строке MATLAB введите следующую команду:

    Advisor.Manager.refresh_customizations();

  2. Чтобы открыть модель, дважды щелкните значок AdvisorCustomizationExample.slx.

  3. На вкладке Моделирование (Modeling) выберите Мастер модели (Model Advisor), чтобы открыть Мастер модели (Model Advisor).

    Примечание

    Если папка По продукту (By Product) не отображается в окне Мастер модели (Model Advisor), выберите Показать по папке продукта (Show By Product Folder) в диалоговом окне Настройки (Settings) > Настройки (Preferences).

  4. На левой панели окна Мастер моделей (Model Advisor) выберите пункт По продукту (By Product) > Демонстрация (Demo) > Проверить, отображаются ли имена блоков под чеком блоков. В правой области выберите Выполнить эту проверку. Проверка завершается неуспешно.

  5. В Образцовом окне Советника проверьте, что Клетчатые Результаты HighlightingHighlight отобраны. Блоки, вызывающие команду Проверить, отображаются ли имена блоков под ошибками проверки блоков, выделены желтым цветом.

  6. В окне модели щелкните правой кнопкой мыши значок X и выберите «Помощник по модели» > «Только исключить блок» > «Проверить положение имен блоков».

  7. В редакторе исключений помощника по модели нажмите кнопку ОК, чтобы создать файл исключения.

  8. В окне модели откройте Amplifier и щелкните правой кнопкой мыши GainBlock и выберите «Помощник по модели» > «Только исключить блок» > «Проверить положение имен блоков».

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

Проверка исключений

  1. В окне "Помощник по модели" выберите "Параметры" > "Установки" > "Показать вкладку" Исключение ". Просмотрите исключения на вкладке Исключения.

  2. На левой панели окна Model Advisor установите флажок По продукту (By Product) > Демонстрация (Demo) > Проверить положение имен блоков. В правой области выберите Выполнить эту проверку. Теперь чек проходит. На правой панели окна Мастер модели (Model Advisor) можно увидеть Правила исключения проверки (Check Exclusion Rules), применяемые Консультантом модели (Model Advisor) во время анализа.

  3. Закройте модель и мастер модели.

См. также

|

Связанные примеры

Подробнее