Проверка нескольких систем параллельно уменьшает время вычислений, требуемое Model Advisor проверять несколько систем. Если у вас есть лицензия Parallel Computing Toolbox™, можно проверять несколько систем параллельно на многожильной хост-машине.
Parallel Computing Toolbox не поддерживает 32-битные машины Windows®.
Каждый параллельный процесс осуществляет проверки одной модели за один раз. В параллельном режиме загрузите данные модели из словаря данных или рабочего пространства модели. Model Advisor в параллельном режиме не делает данных о модели поддержки в базовом рабочем пространстве.
Скопируйте модель и конфигурационный файл к вашему текущему каталогу
Скопируйте пользовательский конфигурационный файл Model Advisor demoConfiguration.json
, к вашей writeable директории.
В MATLAB, набор ваша текущая папка к writeable директории.
Введите эту команду в командную строку 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');
В файлах в качестве примера заметьте demoConfiguration.json
. Этот файл задает проверки Model Advisor, которые выполняются во время анализа. Для получения дополнительной информации о создании файла пользовательской конфигурации, смотрите Использование Model Advisor Configuration Editor, чтобы Создать Пользовательскую Настройку 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