ssSetOutputPortDataType
Set the data type of an output port
Syntax
DTypeId ssSetOutputPortDataType(SimStruct *S, int_T port, DTypeId id)
Arguments
S
SimStruct that represents an S-Function block.
port
Index of an output port.
id
ID of the data type accepted by
port
.
Returns
The data type ID specified by id
. Returns -1
if id
is DYNAMICALLY_TYPED
.
Description
Use this function in mdlInitializeSizes
to set the data type of
the output port specified by port
. If the output port's data type
is determined dynamically, for example, from the data type of a block parameter, set
the data type to DYNAMICALLY_TYPED
. In this case, the S-function
must provide mdlSetOutputPortDataType
and
mdlSetDefaultPortDataTypes
methods to enable the data type to be set correctly during signal
propagation.
For a list of built-in data types, see ssGetInputPortDataType.
Note
The data type of an output port is double
(real_T
) by default.
Languages
C, C++
Examples
Suppose that you want to create an S-function with two output ports, the first of
which gets its data type from a block parameter and the second of which outputs
signals of type int16_T
. The following code sets up the data
types.
ssSetOutputPortDataType(S, 0, DYNAMICALLY_TYPED) ssSetOutputPortDataType(S, 1, SS_INT16)
See the S-function sfun_dtype_io.c
used in sfcndemo_dtype_io
and the S-function sdotproduct.c
used in sfcndemo_sdotproduct
for complete examples that use this
function.
Version History
Introduced before R2006a