Используйте структуру данных модели реального времени

Генератор кода использует модель реального времени (RT_MODEL) структура данных. Эта структура также упоминается как структура данных rtModel. Можно получить доступ к данным rtModel при помощи набора макросов, аналогичных ssSetxxx и макросам ssGetxxx что использование S-функций, чтобы получить доступ к данным SimStruct, включая невстроенные S-функции, скомпилированные генератором кода.

Необходимо использовать набор макросов rtmGetxxx и rtmSetxxx, чтобы получить доступ к структуре данных модели реального времени. rtModel является оптимизированной структурой данных, которая заменяет SimStruct в качестве структуры данных верхнего уровня для модели. rtmGetxxx и макросы rtmSetxxx используются в сгенерированном коде, а также от модуля main.cpp или main.c. Если вы настраиваете main.c или main.cpp (или статический файл или сгенерированный файл), необходимо использовать rtmGetxxx и rtmSetxxx вместо макросов ssGetxxx и ssSetxxx.

Использование rtmGetxxx и макросов rtmSetxxx эквивалентно для ssSetxxx и версий ssGetxxx, за исключением того, что вы заменяете SimStruct S структурой данных модели реального времени rtM. В следующей таблице перечислены rtmGetxxx и макросы rtmSetxxx, которые используются в grt_main.c и grt_main.cpp.

Макросы для доступа к структуре данных модели реального времени

Синтаксис Макроса rtm

Описание

rtmGetdX(rtm)

Получите производные блочно-непрерывных состояний

rtmGetOffsetTimePtr(RT_MDL rtM)

Возвратите указатель, чтобы векторизовать, который хранит смещения шага расчета модели, сопоставленной с rtM

rtmGetNumSampleTimes(RT_MDL rtM)

Получите количество шагов расчета, которые имеет блок

rtmGetPerTaskSampleHitsPtr(RT_MDL)

Возвратите указатель на NumSampleTime × матрица NumSampleTime

rtmGetRTWExtModeInfo(RT_MDL rtM)

Возвратите структуру данных информации о режиме external mode модели (используемый внутренне для режима external mode)

rtmGetRTWLogInfo(RT_MDL)

Возвратите структуру данных, используемую журналированием генератора кода (только внутреннее пользование)

rtmGetRTWRTModelMethodsInfo(RT_MDL)

Возвратите структуру данных информации о методах модели реального времени (только внутреннее пользование)

rtmGetRTWSolverInfo(RT_MDL)

Возвратите структуру данных, содержащую информацию о решателе модели (только внутреннее пользование)

rtmGetSampleHitPtr(RT_MDL)

Возвратите указатель на вектор флага Sample Hit

rtmGetSampleTime(RT_MDL rtM, int TID)

Получите шаг расчета задачи

rtmGetSampleTimePtr(RT_MDL rtM)

Получите указатель на шаг расчета задачи

rtmGetSampleTimeTaskIDPtr(RT_MDL rtM)

Получите указатель на ID задачи

rtmGetSimTimeStep(RT_MDL)

Возвратите идентификатор типа шага симуляции (MINOR_TIME_STEP, MAJOR_TIME_STEP)

rtmGetStepSize(RT_MDL)

Возвратите основной размер шага модели

rtmGetT(RT_MDL,t)

Получите текущее время симуляции

rtmSetT(RT_MDL,t)

Установите время следующего демонстрационного хита

rtmGetTaskTime(RT_MDL,tid)

Получите текущее время для текущей задачи

rtmGetTFinal(RT_MDL)

Получите время остановки симуляции

rtmSetTFinal(RT_MDL,finalT)

Установите время остановки симуляции

rtmGetTimingData(RT_MDL)

Возвратите структуру данных, используемую путем синхронизации механизма модели (только внутреннее пользование)

rtmGetTPtr(RT_MDL)

Возвратите указатель на текущее время

rtmGetTStart(RT_MDL)

Получите время начала симуляции

rtmIsContinuousTask(rtm)

Определите, непрерывна ли задача

rtmIsMajorTimeStep(rtm)

Определите, является ли симуляция на существенном шаге

rtmIsSampleHit(RT_MDL,tid)

Определите, поражен ли шаг расчета

rtmGetErrorStatus(rtm)

Получите текущее ошибочное состояние

rtmSetErrorStatus(rtm,val)

Установите текущее ошибочное состояние

rtmGetErrorStatusPointer(rtm)

Возвратите указатель на текущее ошибочное состояние

rtmGetStopRequested(rtm)

Возвратитесь, требуют ли остановку

rtmGetBlockIO(rtm)

Получите структуру данных блока I/O

rtmSetBlockIO(rtm,val)

Установите структуру данных блока I/O

rtmGetContStates(rtm)

Получите непрерывную структуру данных состояний

rtmSetContStates(rtm,val)

Установите непрерывную структуру данных состояний

rtmGetDefaultParam(rtm)

Получите структуру данных параметров по умолчанию

rtmSetDefaultParam(rtm,val)

Установите структуру данных параметров по умолчанию

rtmGetPrevZCSigState(rtm)

Получите предыдущую структуру данных состояния сигнала пересечения нулем

rtmSetPrevZCSigState(rtm,val)

Установите предыдущую структуру данных состояния сигнала пересечения нулем

rtmGetRootDWork(rtm)

Получите структуру данных DWork

rtmSetRootDWork(rtm,val)

Установите структуру данных DWork

rtmGetU(rtm)

Доберитесь корень вводит структуру данных (когда корневые входные параметры передаются как часть структуры данных модели),

rtmSetU(rtm,val)

Установите корневую входную структуру данных (когда корневые входные параметры будут переданы как часть структуры данных модели),

rtmGetY(rtm)

Получите корневую выходную структуру данных (когда корневые выходные параметры будут переданы как часть структуры данных модели),

rtmSetY(rtm,val)

Установите корневую выходную структуру данных (когда корневые выходные параметры будут переданы как часть структуры данных модели),

Для дополнительных деталей об использовании смотрите Макросы SimStruct и Функции, Перечисленные Использованием (Simulink).

Похожие темы