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

В этом примере показано, как исключить блоки из собственных проверок. Чтобы сэкономить время во время разработки и верификации модели, можно исключить отдельные блоки из собственных проверок во время анализа 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. Включите проверку Check position of block names для поддержки исключений из проверки при помощи 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 файл. Если вас спросили, является ли OK для перезаписи файла, нажмите OK.

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

  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 > Check whether block names appear below blocks > check. На правой панели выберите Run This Check. Проверка завершается неуспешно.

  5. В окне Model Advisor проверьте, что выбран Highlighting Highlight Check Results. Блоки, вызывающие отказ проверки Check whether block names appear below blocks, подсвечиваются желтым цветом.

  6. В окне модели щелкните правой кнопкой мыши по X Блоком и выберите Model Advisor > Exclude block only > Check position of block names.

  7. В редакторе исключений Model Advisor щелкните OK, чтобы создать файл исключения.

  8. В окне модели откройте Amplifier и щелкните правой кнопкой мыши по GainBlock Блоком и выберите Model Advisor > Exclude block only > Check position of block names.

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

Исключения из отзывов

  1. В окне Model Advisor щелкните Settings > Preferences > Show Exclusion Tab. Проверьте исключения на вкладке Exclusions.

  2. В левой панели окна Model Advisor выберите By Product Demo > Check position of block names > check. На правой панели выберите Run This Check. Проверка сейчас проходит. На правой панели окна Model Advisor можно увидеть Check Exclusion Rules, которую Model Advisor применяет во время анализа.

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

См. также

|

Похожие примеры

Подробнее о