В этом разделе описывается настройка настраиваемого встроенного целевого объекта для поддержки управления прототипом функции. Без описанных изменений невозможно использовать доступные интерфейсы для настройки интерфейсов функций начального уровня. Дополнительные сведения см. в разделе Настройка генерации кода C для функций точек входа модели.
Требования к поддержке управления прототипом функции C следующие:
Целевой файл системы должен быть получен из целевого файла системы ERT.
В целевом системном файле должно быть объявлено соответствие прототипа функции C, как описано в разделе Объявление соответствия прототипа функции C.
Если в системном целевом файле используется пользовательская статическая основная программа и конфигурация управления прототипом функции не по умолчанию связана с моделью, то статическая основная программа должна вызывать функции инициализации и пошагового управления прототипом функции, как описано в разделе Обеспечение поддержки прототипа функции C в пользовательской статической основной программе.
Пример настройки настраиваемых целевых дополнительных функций см. в разделе Настройка системных целевых файлов.
Чтобы объявить соответствие прототипа функции C для целевого объекта, необходимо реализовать функцию обратного вызова, которая устанавливает ModelStepFunctionPrototypeControlCompliant флаг, а затем установите функцию обратного вызова в SelectCallback области rtwgensettings структура в целевом системном файле. Функция обратного вызова запускается всякий раз, когда пользователь выбирает целевой объект в обозревателе системных целевых файлов. Например, следующий код целевого файла системы устанавливает SelectCallback функция с именем custom_select_callback_handler:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы для SelectCallback функция (hDlg, hSrc) являются дескрипторами личных данных, используемых функциями API обратного вызова. Эти дескрипторы ограничены для использования в функциях обратного вызова целевого файла системы. Они должны быть переданы без изменений.
Функция обратного вызова должна установить ModelStepFunctionPrototypeControlCompliant флаг следующим образом:
slConfigUISetVal(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant',false); hSrc.refreshDialog;
Дополнительные сведения об API обратного вызова целевого файла см. в разделе slConfigUIGetVal, slConfigUISetEnabled, и slConfigUISetVal страницы ссылок на функции.
Когда ModelStepFunctionPrototypeControlCompliant целевой параметр конфигурации имеет значение on, можно использовать диалоговое окно Configure C Step Function Interface для управления прототипом функции шага базовой скорости, созданной для модели на основе скорости.
Если цель использует пользовательскую статическую основную программу и если конфигурация управления прототипом функции не по умолчанию связана с моделью, необходимо обновить статическую основную программу, чтобы вызвать управляемую инициализацию прототипа функции и пошаговые функции. Это можно сделать одним из следующих способов:
Вручную адаптируйте статическую основную программу для объявления данных модели и вызова функций инициализации и пошаговых функций, управляемых прототипом функции.
Создайте основную программу, выбрав параметр конфигурации модели Создать пример основной программы. Созданная основная программа объявляет данные модели и вызывает управляемую инициализацию прототипа функции и пошаговую функцию.