Можно хотеть установить тип данных различных портов, параметров периода выполнения или 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 ); }