exponenta event banner

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

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

Панель инструментов Parallel Computing Toolbox не поддерживает 32-разрядные компьютеры Windows ® .

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

Копирование файла модели и конфигурации в текущий каталог

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

  1. В MATLAB установите текущую папку в записываемый каталог.

  2. Введите эту команду в командной строке MATLAB. MATLAB копирует файл в записываемый каталог.

    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.

Определение функции для программного выполнения проверок

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

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

  3. В функции щелкните правой кнопкой мыши untitled и выберите Заменить имя функции именем файла. Имя функции обновляется до 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. Просмотрите результаты. Щелкните ссылку Сводный отчет (Summary Report), чтобы открыть отчет Сводка по командным линиям помощника по модели (Model Advisor Command-Line Summary).

См. также

|

Связанные темы