Создайте функцию для проверки нескольких систем параллельно

Проверка нескольких систем параллельно уменьшает время вычислений, требуемое Model Advisor проверять несколько систем. Если у вас есть лицензия Parallel Computing Toolbox™, можно проверять несколько систем параллельно на многожильной хост-машине.

Parallel Computing Toolbox не поддерживает 32-битные машины Windows®.

Каждый параллельный процесс осуществляет проверки одной модели за один раз. В параллельном режиме загрузите данные модели из словаря данных или рабочего пространства модели. Model Advisor в параллельном режиме не делает данных о модели поддержки в базовом рабочем пространстве.

Скопируйте модель и конфигурационный файл к вашему текущему каталогу

Скопируйте пользовательский конфигурационный файл Model Advisor demoConfiguration.json, к вашей writeable директории.

  1. В MATLAB, набор ваша текущая папка к writeable директории.

  2. Введите эту команду в командную строку MATLAB. MATLAB копирует файл в вашу writeable директорию.

    copyfile(fullfile(matlabroot,'examples','slcheck','main','prepare_cust_chk_code.m'),...'prepare_cust_chk_code.m','f');
    run('prepare_cust_chk_code.m');
  3. В файлах в качестве примера заметьте demoConfiguration.json. Этот файл задает проверки Model Advisor, которые выполняются во время анализа. Для получения дополнительной информации о создании файла пользовательской конфигурации, смотрите Использование Model Advisor Configuration Editor, чтобы Создать Пользовательскую Настройку Model Advisor.

Задайте функцию, чтобы программно осуществить проверки

  1. В окне MATLAB® выберите New> Function.

  2. Сохраните файл как run_fast_configuration.m.

  3. В функции щелкните правой кнопкой по untitled и выберите Replace function name by file name. Имя функции обновляется к run_fast_configuration

    function [outputArg1, outputArg2] = run_fast_configuration(inputArg1,inputArg2)
  4. Задайте выходные аргументы и входные параметры. Для выходных аргументов нажмите Shift-Enter после ввода каждого значения, чтобы автоматически обновить все экземпляры в функции.

    • output_Arg1 как fail

    • output_Arg2 как warn

    • inputArg1, inputArg2 к SysList

    function [fail, warn] = run_fast_configuration(SysList)
    fail = inputArg1;
    warn = inputArg2;
    

  5. В функции задайте конфигурационный файл Model Advisor и систему, против которой анализ, запустился:

    SysList={SysList={'AdvisorCustomizationExample/Amplifier',...
        'sldemo_auto_climatecontrol/Heater Control','rtwdemo_iec61508'};
    fileName = 'demoConfiguration.json';
    

  6. Вызовите ModelAdvisor.run функция и набор 'ParallelMode' к 'On'.

    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');

  7. Определите количество проверок, которые возвращают предупреждения и отказы:

    fail = 0;
    warn = 0;
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    

    Функция должна теперь выглядеть так:

    function [fail, warn] = run_fast_configuration(SysList)
    
    %RUN_FAST_CONFIGURATION Check systems in parallel with Model Advisor
    %   Return number of warnings and failures.
    
    SysList={'AdvisorCustomizationExample/Amplifier',...
        'sldemo_auto_climatecontrol/Heater Control','rtwdemo_iec61508'};
    fileName = 'demoConfiguration.json';
    
    % Run the Model Advisor.
    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');
    fail = 0;
    warn = 0;
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    end
    
    
    
    

  8. Сохраните функцию.

  9. Протестируйте функцию. В командном окне MATLAB запустите run_fast_configuration.

  10. Рассмотрите результаты. Щелкните по ссылке Сводного отчета, чтобы открыть Сводный отчет Командной строки Model Advisor.

Смотрите также

|

Похожие темы