ssGetOutputPortRealSignal
Get a pointer to an output signal of type double
(real_T)
Syntax
real_T *ssGetOutputPortRealSignal(SimStruct *S, int_T port)
Arguments
SSimStruct that represents an S-Function block.
portIndex of an output port.
Returns
A contiguous real_T vector of length equal to the width of the
output port.
Description
Use in any simulation loop routine, mdlInitializeConditions, or
mdlStart to access an output port signal where the output
port index starts at 0 and must be less than the number of output ports.
Note
You cannot use ssGetOutputPortRealSignal anywhere except in
mdlOutputs if you have specified that the output ports
are reusable using . For example, if the outputs
have been specified as reusable with the
ssSetOutputPortOptimOptsSS_REUSABLE_AND_LOCAL flag, the
mdlUpdate routine errors out when it tries to access
output memory that is unavailable.
Languages
C, C++
Examples
To write to all output ports, you would use
int_T i,j;
int_T nOutputPorts = ssGetNumOutputPorts(S);
for (i = 0; i < nOutputPorts; i++) {
real_T *y = ssGetOutputPortRealSignal(S,i);
int_T ny = ssGetOutputPortWidth(S,i);
for (j = 0; j < ny; j++) {
y[j] = SomeFunctionToFillInOutput();
}
}
See the S-function sfun_atol.c used in sfcndemo_sfun_atol for a complete example that uses this
function.
See Also
Version History
Introduced before R2006a