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

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

Parallel Computing Toolbox не поддерживает 32-разрядную Windows® машин.

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

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

Скопируйте пользовательский файл строения 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 Configuration Editor для создания Строения Custom 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.

См. также

|

Похожие темы