Чтобы сконфигурировать инициализируют и продвигаются интерфейсы функции точки входа для основанной на уровне модели программно, используют эти функции.
| Функция | Описание |
|---|---|
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