Установка типа данных входного порта
DTypeId ssSetInputPortDataType(SimStruct *S, int_T port, DTypeId id)
SSimStruct представляет S-функциональный блок.
portИндекс входного порта.
idИдентификатор типа данных, принятого port.
Идентификатор типа данных, указанный id. Прибыль -1 если id является DYNAMICALLY_TYPED.
Используйте эту функцию в mdlInitializeSizes для установки типа данных входного порта, указанного port. Если тип данных входного порта наследуется от блока, подключенного к порту, установите тип данных в значение DYNAMICALLY_TYPED. В этом случае S-функция должна обеспечивать mdlSetInputPortDataType и mdlSetDefaultPortDataTypes методы, позволяющие правильно устанавливать тип данных во время распространения сигнала.
Следующая таблица представляет собой список встроенных типов данных, связанных с индексом DTypeId.
| Идентификатор целочисленного типа данных (DTypeId) | Встроенный тип данных |
|---|---|
0 | SS_DOUBLE |
1 | SS_SINGLE |
2 | SS_INT8 |
3 | SS_UINT8 |
4 | SS_INT16 |
5 | SS_UINT16 |
6 | SS_INT32 |
7 | SS_UINT32 |
8 | SS_BOOLEAN |
Целочисленные значения 9 или больше представляют пользовательские типы данных, такие как типы с фиксированной точкой, типы шины и перечислимые типы данных. Значение каждого значения зависит от количества и вида пользовательских типов данных, используемых в модели.
Примечание
Тип данных входного порта: double (real_T) по умолчанию.
C, C++
Предположим, что требуется создать S-функцию с двумя входными портами, первый из которых наследует тип данных от управляющего блока, а второй принимает входы типа int8_T. Следующий код устанавливает типы данных.
ssSetInputPortDataType(S, 0, DYNAMICALLY_TYPED) ssSetInputPortDataType(S, 1, SS_INT8)
См. S-функцию sfun_dtype_io.c используется в sfcndemo_dtype_io и S-функцию sdotproduct.c используется в sfcndemo_sdotproduct для полных примеров использования этой функции.