Чтобы сконфигурировать инициализируют и продвигаются интерфейсы функции точки входа для основанной на уровне модели программно, используют эти функции.
Функция | Описание |
---|---|
RTW.ModelSpecificCPrototype.addArgConf | Добавьте конфигурационную информацию аргумента ступенчатой функции для порта модели Simulink® к образцово-специфичному прототипу функции C |
RTW.ModelSpecificCPrototype.attachToModel | Присоедините образцово-специфичного прототипа функции C к загруженной основанной на ERT модели Simulink |
RTW.ModelSpecificCPrototype.getArgCategory | Получите категорию аргумента ступенчатой функции для порта модели Simulink от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getArgName | Получите имя аргумента ступенчатой функции порта модели Simulink от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getArgPosition | Получите положение аргумента ступенчатой функции для порта модели Simulink от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getArgQualifier | Получите спецификатор типа аргумента ступенчатой функции для порта модели Simulink от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getDefaultConf | Получите конфигурационную информацию по умолчанию для образцово-специфичного прототипа функции C от модели Simulink, до которой это присоединяется |
RTW.ModelSpecificCPrototype.getFunctionName | Получите имена функций от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getNumArgs | Получите количество аргументов ступенчатой функции от образцово-специфичного прототипа функции C |
RTW.ModelSpecificCPrototype.getPreview | Получите образцово-специфичные предварительные просмотры прототипа функции кода C |
RTW.configSubsystemBuild | Откройте пользовательский интерфейс, чтобы сконфигурировать интерфейс прототипа функции или класса C++ C для сборки щелчка правой кнопкой заданной подсистемы |
RTW.getFunctionSpecification | Получите указатель на образцово-специфичный объект прототипа функции C |
RTW.ModelSpecificCPrototype.runValidation | Подтвердите образцово-специфичного прототипа функции C против модели Simulink, к которой он присоединяется |
RTW.ModelSpecificCPrototype.setArgCategory | Установите категорию аргумента ступенчатой функции для порта модели Simulink в образцово-специфичном прототипе функции C |
RTW.ModelSpecificCPrototype.setArgName | Установите имя аргумента ступенчатой функции порта модели Simulink в образцово-специфичном прототипе функции C |
RTW.ModelSpecificCPrototype.setArgPosition | Установите положение аргумента ступенчатой функции для порта модели Simulink в образцово-специфичном прототипе функции C |
RTW.ModelSpecificCPrototype.setArgQualifier | Установите спецификатор типа аргумента ступенчатой функции для порта модели Simulink в образцово-специфичном прототипе функции C |
RTW.ModelSpecificCPrototype.setFunctionName | Функция множества называет в образцово-специфичном прототипе функции C |
Типичное использование этих функций включает:
Создайте и подтвердите функциональный интерфейс.
Измените и подтвердите существующий функциональный интерфейс.
Создайте и подтвердите функциональный интерфейс, начиная с конфигурационной информации по умолчанию из модели.
Сбросьте образцовый функциональный интерфейс к настройке функции ERT по умолчанию.
Создайте образцово-специфичный интерфейс функции C с
, куда obj = RTW.ModelSpecificCPrototype
возвращает указатель на новый, пустой функциональный интерфейс.obj
Добавьте конфигурационную информацию аргумента для своих образцовых портов при помощи RTW.ModelSpecificCPrototype.addArgConf
.
Присоедините функциональный интерфейс к своей загруженной основанной на ERT модели при помощи RTW.ModelSpecificCPrototype.attachToModel
.
Подтвердите функциональный интерфейс при помощи RTW.ModelSpecificCPrototype.runValidation
.
Если валидация успешно выполняется, сохраните свою модель. Затем сгенерируйте код при помощи функции rtwbuild
.
Получите указатель на существующий образцово-специфичный интерфейс функции C, который присоединен к вашей загруженной основанной на ERT модели с
. obj = RTW.getFunctionSpecification(modelName)
является вектором символов, задающим имя загруженной основанной на ERT модели. modelName
возвращает указатель на функциональный интерфейс, присоединенный к заданной модели.obj
Можно использовать другие функции на возвращенном указателе, только если тест isa(obj,'RTW.ModelSpecificCPrototype')
возвращается 1. Если модель не имеет функциональной интерфейсной настройки, функция возвращает []
. Если функция возвращает указатель на объект типа RTW.FcnDefault
, вы не можете изменить существующий функциональный интерфейс.
Используйте Get
и функции Set
, чтобы протестировать и сбросить такие элементы как имена функций, имена аргумента, положения аргумента, категории аргумента и спецификаторы типа аргумента.
Подтвердите функциональный интерфейс при помощи RTW.ModelSpecificCPrototype.runValidation
.
Если валидация успешно выполняется, сохраните свою модель, и затем сгенерируйте код при помощи функции rtwbuild
.
Создайте образцово-специфичный интерфейс функции C при помощи
, куда obj = RTW.ModelSpecificCPrototype
возвращает указатель на новый, пустой функциональный интерфейс.obj
Присоедините функциональный интерфейс к своей загруженной основанной на ERT модели при помощи RTW.ModelSpecificCPrototype.attachToModel
.
Получите конфигурационную информацию по умолчанию из своей модели при помощи RTW.ModelSpecificCPrototype.getDefaultConf
.
Используйте Get
и функции Set
, чтобы протестировать и сбросить такие элементы как имена функций, имена аргумента, положения аргумента, категории аргумента и спецификаторы типа аргумента.
Подтвердите прототипа функции при помощи RTW.ModelSpecificCPrototype.runValidation
.
Если валидация успешно выполняется, сохраните свою модель. Затем сгенерируйте код при помощи функции 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') %% Validate the function prototype against the model [status,message]=runValidation(a) %% if validation succeeded, generate code and build if status rtwbuild(gcs) end