ssGetDataTypeStorageContainCat

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

Синтаксис

extern fxpStorageContainerCategory
ssGetDataTypeStorageContainCat(SimStruct *S, DTypeId dataTypeId)

Аргументы

S

SimStruct, представляющий блок s-function.

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 бит

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

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

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

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

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

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

Описание

FXP_STORAGE_UNKNOWN

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

FXP_STORAGE_SINGLE

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

FXP_STORAGE_DOUBLE

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

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