Параллельная проверка нескольких систем сокращает время обработки, необходимое Model Advisor для проверки нескольких систем. При наличии лицензии Parallel Computing Toolbox™ можно параллельно проверять несколько систем на многоядерной хост-машине.
Панель инструментов Parallel Computing Toolbox не поддерживает 32-разрядные компьютеры Windows ® .
Каждый параллельный процесс одновременно выполняет проверки по одной модели. В параллельном режиме загрузите данные модели из рабочего пространства модели или словаря данных. Мастер модели в параллельном режиме не поддерживает данные модели в базовой рабочей области.
Копирование файла модели и конфигурации в текущий каталог
Копирование пользовательского файла конфигурации Model Advisor demoConfiguration.json, в записываемый каталог.
В MATLAB установите текущую папку в записываемый каталог.
Введите эту команду в командной строке 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');
В файлах примеров обратите внимание demoConfiguration.json. Этот файл определяет проверки, выполняемые в ходе анализа. Дополнительные сведения о создании пользовательского файла конфигурации см. в разделе Использование редактора конфигурации Model Advisor для создания пользовательской конфигурации Model Advisor.
Определение функции для программного выполнения проверок
В окне MATLAB ® выберите New > Function.
Сохранить файл как run_fast_configuration.m.
В функции щелкните правой кнопкой мыши untitled и выберите Заменить имя функции именем файла. Имя функции обновляется до run_fast_configuration
function [outputArg1, outputArg2] = run_fast_configuration(inputArg1,inputArg2)Определите выходные и входные аргументы. Для вывода аргументов нажмите клавишу Shift-Enter после ввода каждого значения для автоматического обновления всех экземпляров в функции.
output_Arg1 как fail
output_Arg2 как warn
inputArg1, inputArg2 кому SysList
function [fail, warn] = run_fast_configuration(SysList)
fail = inputArg1;
warn = inputArg2;
В функции укажите файл конфигурации Model Advisor и систему, в которой выполняется анализ:
SysList={SysList={'AdvisorCustomizationExample/Amplifier',...
'sldemo_auto_climatecontrol/Heater Control','rtwdemo_iec61508'};
fileName = 'demoConfiguration.json';
Позвоните в ModelAdvisor.run функция и набор 'ParallelMode' кому 'On'.
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;
Теперь функция должна выглядеть следующим образом:
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
Сохраните функцию.
Протестируйте функцию. В окне команд MATLAB выполните команду run_fast_configuration.
Просмотрите результаты. Щелкните ссылку Сводный отчет (Summary Report), чтобы открыть отчет Сводка по командным линиям помощника по модели (Model Advisor Command-Line Summary).
ModelAdvisor.run | ModelAdvisor.setDefaultConfiguration