Параллельная проверка нескольких систем сокращает время вычислений, необходимое Model Advisor для проверки нескольких систем. Если у вас есть лицензия Parallel Computing Toolbox™, можно параллельно проверить несколько систем на многоядерной хост-машине.
Parallel Computing Toolbox не поддерживает 32-разрядную Windows® машин.
Каждый параллельный процесс выполняет проверки на одной модели за раз. В параллельном режиме загружайте данные модели из рабочего пространства модели или словаря данных. Model Advisor в параллельном режиме не поддерживает данные модели в базовом рабочем пространстве.
Скопируйте модель и файл строения в вашу текущую директорию
Скопируйте пользовательский файл строения 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 Configuration Editor для создания Строения Custom Model Advisor.
Определите функцию для программного выполнения проверок
В MATLAB® выберите New > Function.
Сохраните файл следующим run_fast_configuration.m
.
В функции щелкните правой кнопкой мыши по untitled
и выберите Replace function name by file name. Имя функции обновляется на 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
.
Проверьте результаты. Щелкните ссылку Сводный отчет, чтобы открыть отчет Сводные сводные данные по командной строке Model Advisor.
ModelAdvisor.run
| ModelAdvisor.setDefaultConfiguration