Если пользовательский целевой процессор должен поддержать параллельное выполнение нескольких задач на многожильной платформе, цель должна объявить поддержку параллельного выполнения путем установки целевого параметра конфигурации ConcurrentExecutionCompliant. В противном случае вы не сможете сконфигурировать многожильную целевую модель для параллельного выполнения.
Если ConcurrentExecutionCompliant уже не сконфигурирован для вашей пользовательской цели, можно установить опцию следующими способами:
Включайте следующий код непосредственно в ваш системный конечный файл ():mytarget.tlc
rtwgensettings.SelectCallback = 'slConfigUISetVal(hDlg,hSrc,...
''ConcurrentExecutionCompliant'',''on'');';
rtwgensettings.ActivateCallback = 'slConfigUISetVal(hDlg,hSrc,...
''ConcurrentExecutionCompliant'',''on'');';Реализуйте функцию обратного вызова, которая устанавливает опцию ConcurrentExecutionCompliant, и затем установите функцию обратного вызова в поле SelectCallback структуры rtwgensettings в вашем STF. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий код STF устанавливает функцию с именем SelectCallback custom_select_callback_handler:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы к функции SelectCallback (hDlg, hSrc) являются указателями на частные данные, используемые API-функциями коллбэка. Эти указатели ограничиваются, чтобы использовать в функциях обратного вызова STF. Они должны быть переданы в без изменения.
Ваша функция обратного вызова должна установить опцию ConcurrentExecutionCompliant можно следующим образом:
slConfigUISetVal(hDlg,hSrc,'ConcurrentExecutionCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ConcurrentExecutionCompliant',false);
Для получения дополнительной информации о API коллбэка STF, смотрите slConfigUIGetVal, slConfigUISetEnabled и страницы ссылки на функцию slConfigUISetVal.
Когда целевой параметр конфигурации ConcurrentExecutionCompliant установлен в 'on', можно выбрать пользовательскую цель и сконфигурировать многожильную целевую модель для параллельного выполнения.
Для примера, который показывает, как сконфигурировать пользовательские целевые дополнительные функции, смотрите, Настраивают Системные Конечные файлы (Simulink Coder).