exponenta event banner

ssGetDataTypeStorageContainCat

Возвращаемый тип контейнера хранения зарегистрированного типа данных

Синтаксис

extern fxpStorageContainerCategory
ssGetDataTypeStorageContainCat(SimStruct *S, DTypeId dataTypeId)

Аргументы

S

SimStruct представляет S-функциональный блок.

dataTypeId

Идентификатор типа данных зарегистрированного типа данных, для которого требуется знать категорию контейнера.

Описание

Эта функция возвращает тип контейнера хранения типа данных, обозначенного dataTypeId. Категория контейнера, возвращаемая этой функцией, используется для хранения входных и выходных сигналов, параметров времени выполнения и DWorks во время моделирования Simulink ®.

Во время моделирования сигналы фиксированной точки удерживаются в одном из типов контейнеров, показанных в следующей таблице. Поэтому во многих случаях сигналы представлены в контейнерах с большим количеством битов, чем их фактическая длина слова.

Контейнеры для хранения с фиксированной точкой

Категория контейнера

Сигнал
Длина слова

Длина слова контейнера

Размер контейнера

FXP_STORAGE_INT8 (подпись)
FXP_STORAGE_UINT8 (без подписи)

от 1 до 8 бит

8 бит

1 байт

FXP_STORAGE_INT16 (подпись)
FXP_STORAGE_UINT16 (без подписи)

От 9 до 16 бит

16 бит

2 байта

FXP_STORAGE_INT32 (подпись)
FXP_STORAGE_UINT32 (без подписи)

от 17 до 32 бит

32 бита

4 байта

FXP_STORAGE_OTHER_SINGLE_WORD

33 - длина слова long тип данных

Длина long тип данных

Длина long тип данных

FXP_STORAGE_MULTIWORD

Больше длины слова long тип данных до 128 бит

Кратные длине long тип данных до 128 бит

Кратные длине long тип данных до 128 бит

Когда количество битов в сигнальном слове меньше, чем размер контейнера, биты длины слова всегда сохраняются в младших значащих битах контейнера. Остальные биты контейнера должны быть расширены для соответствия битам контейнера:

  • Если тип данных не подписан, то биты расширения знака должны быть сброшены до нуля.

  • Если тип данных подписан, то биты расширения знака должны быть установлены в единицу для строго отрицательных чисел и в противном случае очищены до нуля.

ssGetDataTypeStorageContainCat функция также может возвращать следующие значения.

Другие контейнеры для хранения

Категория контейнера

Описание

FXP_STORAGE_UNKNOWN

Возвращается, если неизвестна категория контейнера хранения

FXP_STORAGE_SINGLE

Тип контейнера для Simulink single

FXP_STORAGE_DOUBLE

Тип контейнера для Simulink double

FXP_STORAGE_SCALEDDOUBLE

Тип контейнера для типа данных, который был переопределен Scaled double

Эта функция выдает ошибки, когда ssGetDataTypeIsFxpFltApiCompat прибыль FALSE.

Требование

Для использования этой функции необходимо включить fixedpoint.h и fixedpoint.c. Дополнительные сведения см. в разделе Структура S-функции.

Языки

C

Функции TLC

Поскольку отображение контейнеров хранения в моделировании на контейнеры хранения в генерировании кода не является однозначным, функции TLC для контейнеров хранения в TLC отличаются от функций моделирования. Дополнительные сведения см. в разделе Функции TLC контейнера хранения:

  • FixPt_DataTypeNativeType

  • FixPt_DataTypeStorageDouble

  • FixPt_DataTypeStorageSingle

  • FixPt_DataTypeStorageScaledDouble

  • FixPt_DataTypeStorageSInt

  • FixPt_DataTypeStorageUInt

  • FixPt_DataTypeStorageSLong

  • FixPt_DataTypeStorageULong

  • FixPt_DataTypeStorageSShort

  • FixPt_DataTypeStorageUShort

Представлен до R2006a