Чтобы сконфигурировать инициализируют и продвигаются интерфейсы функции точки входа для основанной на уровне модели программно, используют эти функции.
Функция | Описание |
---|---|
addArgConf | Добавьте конфигурационную информацию аргумента ступенчатой функции для порта модели Simulink® к прототипу функции C модели специфичному |
attachToModel | Присоедините прототипа функции C модели специфичного к загруженной основанной на ERT модели Simulink |
getArgCategory | Получите категорию аргумента ступенчатой функции для порта модели Simulink от прототипа функции C модели специфичного |
getArgName | Получите имя аргумента ступенчатой функции порта модели Simulink от прототипа функции C модели специфичного |
getArgPosition | Получите положение аргумента ступенчатой функции для порта модели Simulink от прототипа функции C модели специфичного |
getArgQualifier | Получите спецификатор типа аргумента ступенчатой функции для порта модели Simulink от прототипа функции C модели специфичного |
getDefaultConf | Получите конфигурационную информацию по умолчанию для прототипа функции C модели специфичного от модели Simulink, до которой это присоединяется |
getFunctionName | Получите имя функции от прототипа функции C модели специфичного |
getNumArgs | Получите количество аргументов ступенчатой функции от прототипа функции C модели специфичного |
getPreview | Получите предварительные просмотры прототипа функции кода C модели специфичные |
RTW.configSubsystemBuild | Откройте пользовательский интерфейс, чтобы сконфигурировать интерфейс прототипа функции или класса C++ C для сборки щелчка правой кнопкой заданной подсистемы |
RTW.getFunctionSpecification | Получите указатель на объект прототипа функции C модели специфичный |
setArgCategory | Установите категорию аргумента ступенчатой функции для порта модели Simulink в прототипе функции C модели специфичном |
setArgName | Установите имя аргумента ступенчатой функции порта модели Simulink в прототипе функции C модели специфичном |
setArgPosition | Установите положение аргумента ступенчатой функции для порта модели Simulink в прототипе функции C модели специфичном |
setArgQualifier | Установите спецификатор типа аргумента ступенчатой функции для порта модели Simulink в прототипе функции C модели специфичном |
setFunctionName | Имя функции множества в прототипе функции C модели специфичном |
Типичное использование этих функций включает:
Создайте функциональный интерфейс.
Измените существующий функциональный интерфейс.
Создайте функциональный интерфейс, начиная с конфигурационной информации по умолчанию из модели.
Сбросьте функциональный интерфейс модели к настройке функции ERT по умолчанию.
Создайте интерфейс функции C модели специфичный с
, где obj
= RTW.ModelSpecificCPrototype
возвращает указатель на новый, пустой функциональный интерфейс.obj
Добавьте конфигурационную информацию аргумента для своих портов модели при помощи addArgConf
.
Присоедините функциональный интерфейс к своей загруженной основанной на ERT модели при помощи attachToModel
.
Сохраните свою модель.
Сгенерируйте код при помощи rtwbuild
функция.
Получите указатель на существующий интерфейс функции C модели специфичный, который присоединен к вашей загруженной основанной на ERT модели с
. obj
= RTW.getFunctionSpecification
(modelName
)
вектор символов, задающий имя загруженной основанной на ERT модели. modelName
возвращает указатель на функциональный интерфейс, присоединенный к заданной модели.obj
Можно использовать другие функции на возвращенном указателе только если тест isa(obj,'RTW.ModelSpecificCPrototype')
возвращается 1. Если модель не имеет функциональной интерфейсной настройки, функция возвращает []
. Если функция возвращает указатель на объект типа RTW.FcnDefault
, вы не можете изменить существующий функциональный интерфейс.
Используйте Get
и Set
функции, чтобы протестировать и сбросить такие элементы как имена функций, имена аргумента, положения аргумента, категории аргумента и спецификаторы типа аргумента.
Сохраните свою модель.
Сгенерируйте код при помощи rtwbuild
функция.
Создайте интерфейс функции C модели специфичный при помощи
, где obj
= RTW.ModelSpecificCPrototype
возвращает указатель на новый, пустой функциональный интерфейс.obj
Присоедините функциональный интерфейс к своей загруженной основанной на ERT модели при помощи attachToModel
.
Получите конфигурационную информацию по умолчанию из своей модели при помощи getDefaultConf
.
Используйте Get
и Set
функции, чтобы протестировать и сбросить такие элементы как имена функций, имена аргумента, положения аргумента, категории аргумента и спецификаторы типа аргумента.
Сохраните свою модель.
Сгенерируйте код при помощи rtwbuild
функция.
Создайте объект функционального интерфейса по умолчанию ERT. Сбросьте функциональный интерфейс модели и отмените пользовательские настройки путем вызова RTW.FcnDefault
метод, attachToModel
:
obj = RTW.FcnDefault; obj.attachToModel(model);
model
должна быть загруженная основанная на ERT модель.Не используйте тот же объект интерфейса функции C модели специфичный через многоуровневые модели. Если вы делаете, изменения, которые вы вносите в шаг и инициализируете функции в одной модели, распространены к другим моделям, который обычно является не, что вы хотите.
Этот пример скрипт MATLAB® конфигурирует функциональные интерфейсы модели, например, модель rtwdemo_counter
.
%% Open the rtwdemo_counter model rtwdemo_counter %% Select ert.tlc as the System Target File for the model set_param(gcs,'SystemTargetFile','ert.tlc') %% Create a model-specific C function prototype a=RTW.ModelSpecificCPrototype %% Add argument configuration information for Input and Output ports addArgConf(a,'Input','Pointer','inputArg','const *') addArgConf(a,'Output','Pointer','outputArg','none') %% Attach the model-specific C function prototype to the model attachToModel(a,gcs) %% Rename the initialization function setFunctionName(a,'InitFunction','init') %% Rename the step function and change some argument attributes setFunctionName(a,'StepFunction','step') setArgPosition(a,'Output',1) setArgCategory(a,'Input','Value') setArgName(a,'Input','InputArg') setArgQualifier(a,'Input','none') %% Generate code and build rtwbuild(gcs)