Можно хотеть установить тип данных различных портов, параметров периода выполнения или DWorks в S-функции.
Например, предположите, что вы хотите установить тип данных выходного порта своей S-функции. Для этого,
Укажите тип данных при помощи одной из функций перечисленные в таблице Регистрационные Функции Типа данных. ID типа данных возвращен.
Поочередно, можно использовать один из предопределенных идентификаторов типа данных Simulink® встроенные типы данных.
Используйте ssSetOutputPortDataType с ID типа данных от Шага 1, чтобы установить выходной порт на желаемый тип данных.
В примере ниже от линий 336 - 352 из sfun_user_fxp_const.c, ssRegisterDataTypeFxpBinaryPoint используется, чтобы указать тип данных. ssSetOutputPortDataType затем устанавливает тип выходных данных или на идентификатор типа определенных данных, или быть с динамическим контролем типов:
/* Register data type
*/
if ( notSizesOnlyCall )
{
DTypeId DataTypeId = ssRegisterDataTypeFxpBinaryPoint(
S,
V_ISSIGNED,
V_WORDLENGTH,
V_FRACTIONLENGTH,
1 /* true means obey data type override setting for
this subsystem */ );
ssSetOutputPortDataType( S, 0, DataTypeId );
}
else
{
ssSetOutputPortDataType( S, 0, DYNAMICALLY_TYPED );
}