Main Content


Set the data types of the signals accepted by an input port




C, C++


void mdlSetInputPortDataType(SimStruct *S, int_T port,
 DTypeId id)



SimStruct representing an S-Function block.


Index of a port.


Data type ID.


The Simulink® engine calls this routine to set the data type of port when port has an inherited data type. The data type id is the proposed data type for this port. Data type IDs for the built-in data types can be found in simstruc_types.h. This method is only valid for simulation. C MEX S-functions must enclose this method in a #if defined(MATLAB_MEX_FILE) statement.

The S-function must check whether the specified data type is a valid data type for the specified port. If it is a valid data type, a C MEX S-functions sets the data type of the input port using ssSetInputPortDataType. Otherwise, it reports an error using ssSetErrorStatus.

The S-function can also set the data types of other input and output ports if they are unknown. The engine reports an error if the S-function changes the data type of a port whose data type has been set.

If the block does not implement this routine, the engine assumes that the block accepts any data type and sets the input port data type to the specified value.

The engine calls this method until all input ports with inherited data types have their data types specified.

Version History

Introduced before R2006a