| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Simulink |
| Contents | Index |
| Learn more about Simulink |
const void *ssGetInputPortSignal(SimStruct *S, int_T inputPortIdx)
SimStruct representing an S-Function block.
Index of the port whose address is required.
A pointer (void *) to the input port specified by the index inputPortIdx.
Use to get the address of a contiguous signal entering an input port. Your S-function should use this macro only if mdlInitializeSizes has specified that the elements of the input signal be contiguous, using ssSetInputPortRequiredContiguous. For non-contiguous input, use the ssGetInputPortSignalPtrs function.
Note The ssGetInputPortSignal macro becomes a function when you compile your S-function in debug mode (mex -g). |
C, C++
The following code demonstrates the use of ssGetInputPortSignal.
nInputPorts = ssGetNumInputPorts(S);
for (i = 0; i < nInputPorts; i++) {
int_T nu = ssGetInputPortWidth(S,i);
if ( ssGetInputPortRequiredContiguous(S,i) ) {
const void *u = ssGetInputPortSignal(S,i);
UseInputVectorInSomeFunction(u, nu);
} else {
InputPtrsType u = ssGetInputPortSignalPtrs(S,i);
for (j = 0; j < nu; j++) {
UseInputInSomeFunction(*u[j]);
}
}
}
If you know that the inputs are always real_T signals, the ssGetInputPortSignal line in the above code snippet would be
const real_T *u = ssGetInputPortRealSignal(S,i);
ssSetInputPortRequiredContiguous, ssGetInputPortRealSignal, ssGetInputPortSignalPtrs
![]() | ssGetInputPortSampleTimeIndex | ssGetInputPortSignalPtrs | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |