Каждый тип данных, используемый в вашей S-функции, присвоен ID типа данных. Необходимо всегда использовать идентификаторы типа данных, чтобы получить и установить информацию о типах данных в S-функции.
В общем случае Simulink® программное обеспечение присваивает идентификаторы типа данных во время инициализации модели на “первый, прибывают, сначала подаваемый” базис. Например, рассмотрите обобщенную схему блок-схемы ниже.
Программное обеспечение Simulink присваивает ID типа данных для каждого типа выходных данных в схеме в порядке, это требуют. Для простоты примите, что порядок запроса происходит слева направо. Поэтому выход блока A может быть присвоенным типом данных ID 13, и выход блока B может быть присвоенным типом данных ID 14. Тип выходных данных блока C совпадает с типом блока A, таким образом, ID типа данных, присвоенный выходу блока C, равняется также 13. Выход блока D является присвоенным типом данных ID 15.
Теперь, если блоки в модели перестроены,
Программное обеспечение Simulink все еще присваивает идентификаторы типа данных в порядке, в котором они используются. Поэтому каждый тип данных может закончиться с ID другого типа данных. Выход блока A является все еще присвоенным типом данных ID 13. Выход блока D теперь затем в гармонии и является присвоенным типом данных ID 14. Выход блока B является присвоенным типом данных ID 15. Тип выходных данных блока C является все еще тем же самым как тем из блока A, таким образом, это - также присвоенный тип данных ID 13.
Эта таблица суммирует эти два случая, описанные выше.
Блок | ID типа данных в Model_1 | ID типа данных в Model_2 |
---|---|---|
A | 13 | 13 |
B | 14 | 15 |
C | 13 | 13 |
D | 15 | 14 |
Этот пример иллюстрирует, что нет никакого строгого отношения между атрибутами типа данных и значением его ID типа данных. Другими словами, ID типа данных не присвоен на основе характеристик типа данных, который он представляет, а скорее на том, когда тот тип данных сначала необходим.
Примечание
Из-за природы присвоения идентификаторов типа данных необходимо всегда использовать API-функции, чтобы извлечь информацию из ID типа данных о типе данных в S-функции.
Функции в следующей таблице доступны в API для написанных пользователем S-функций фиксированной точки для регистрации типов данных в симуляции. Каждая из этих функций возвратит ID типа данных. Чтобы видеть пример используемой функции, перейдите к файлу и линии, обозначенной в таблице.
Регистрационные функции типа данных
Функция | Описание | Пример использования |
---|---|---|
Укажите тип данных с фиксированной точкой с единственным двоичной точкой масштабированием и возвратите его ID типа данных |
| |
Укажите тип данных с фиксированной точкой с [Наклонное Смещение] масштабирование заданного в терминах дробного наклона, зафиксированной экспоненты и смещения, и возвратите его ID типа данных | Не доступный | |
Укажите масштабированный двойной тип данных с [Наклонное Смещение] масштабирование заданного в терминах дробного наклона, зафиксированной экспоненты и смещения, и возвратите его ID типа данных | Не доступный | |
Укажите тип данных с [Наклонное Смещение] масштабирование и возвратите его ID типа данных |
|
Программное обеспечение Simulink указывает свои встроенные типы данных, и те типы данных всегда имеют предписанные идентификаторы типа данных. Встроенные идентификаторы типа данных даны следующими лексемами:
SS_DOUBLE
SS_SINGLE
SS_INT8
SS_UINT8
SS_INT16
SS_UINT16
SS_INT32
SS_UINT32
SS_BOOLEAN
Вы не должны указывать эти типы данных. При попытке указать встроенный тип данных, регистрационная функция просто возвращает предписанный ID типа данных.
Идентификаторы типа данных используются, чтобы задать типы данных портов ввода и вывода, параметров периода выполнения и состояний DWork. Чтобы установить типы данных с фиксированной точкой для количеств в вашей S-функции, процедура следующие:
Укажите тип данных с помощью одной из функций перечисленные в таблице Регистрационные Функции Типа данных. ID типа данных возвращен в вас.
Альтернативно, можно использовать один из предписанных идентификаторов типа данных Simulink встроенные типы данных.
Используйте ID типа данных, чтобы установить тип данных для порта ввода или вывода, параметра периода выполнения или состояния DWork использование одной из следующих функций:
Чтобы получить ID типа данных порта ввода или вывода, параметр периода выполнения или состояние DWork, использует одну из следующих функций:
Можно использовать идентификаторы типа данных с функциями, чтобы получить информацию о встроенных и зарегистрированных типах данных в S-функции. Функции в следующих таблицах доступны в API для извлечения информации о зарегистрированных типах данных. Чтобы видеть пример используемой функции, перейдите к файлу и линии, обозначенной в таблице. Обратите внимание на то, что идентификаторы типа данных могут также использоваться со всеми стандартными методами доступа типа данных в simstruc.h
, такой как ssGetDataTypeSize
.
Функции информации о контейнере устройства хранения данных
Функция | Описание | Пример использования |
---|---|---|
Возвратите размер слова контейнера устройства хранения данных зарегистрированного типа данных |
| |
Возвратите категорию контейнера устройства хранения данных зарегистрированного типа данных |
| |
Возвратите размер контейнера устройства хранения данных зарегистрированного типа данных |
|
Функции информации о типе данных сигнала
Функция | Описание | Пример использования |
---|---|---|
Определите, указала ли фиксированная точка тип данных, подписывается или без знака |
| |
Возвратитесь размер слова фиксированной точки указал тип данных |
| |
Определите, является ли зарегистрированный тип данных типом данных с фиксированной точкой |
| |
Определите, является ли зарегистрированный тип данных типом данных с плавающей точкой |
| |
Определите, поддерживается ли зарегистрированный тип данных API для написанных пользователем S-функций фиксированной точки |
| |
Определите, имеет ли зарегистрированный тип данных масштабирование степени двойки |
| |
Определите, является ли масштабирование зарегистрированного типа данных наклоном = 1, смещение = 0 |
|
Сигнал, масштабирующий информационные функции
Функция | Описание | Пример использования |
---|---|---|
Возвратите смещение зарегистрированного типа данных |
| |
Возвратите экспоненту наклона зарегистрированного типа данных |
| |
Возвратите дробный наклон зарегистрированного типа данных |
| |
Возвратите дробную длину зарегистрированного типа данных с масштабированием степени двойки |
| |
Возвратите общий наклон масштабирования зарегистрированного типа данных |
|
Функции в следующей таблице позволяют вам преобразовывать значения между зарегистрированными типами данных в вашей S-функции фиксированной точки.
Функции преобразования типа данных
Функция | Описание | Пример использования |
---|---|---|
Преобразуйте значение от одного типа данных до другого типа данных. | Не доступный | |
Преобразуйте значение типа данных | Не доступный | |
Преобразуйте значение любого типа данных к | Не доступный |