mdlSetSimState
(Not recommended) Set the simulation state of the C MEX S-function by restoring the SimState.
Note
mdlSetSimState
is not recommended. Use mdlSetOperatingPoint
instead.
Required
No
Languages
C, C++
Syntax
#define MDL_SIM_STATE
void mdlSetSimState(SimStruct* S, const mxArray* in)
Arguments
S
SimStruct representing an S-Function block.
const mxArray* in
Any valid MATLAB data.
Description
The Simulink® engine invokes this custom method at the beginning of a simulation of the
model containing S
. Simulink sets the initial simulation state of the
S-function to the SimState of the model.
Example
/* Function: mdlSetSimState * Abstract: * Unpack the MATLAB structure passed and restore it to * the RunTimeData structure */ static void mdlSetSimState(SimStruct* S, const mxArray* simSnap) { RunTimeData_T* rtd = (RunTimeData_T*)ssGetPWorkValue(S, 0); /* Check and load the count value */ { const mxArray* cnt = mxGetField(simSnap, 0, fieldNames[0]); ERROR_IF_NULL(S,cnt, "Count field not found in simulation state"); if ( mxIsComplex(cnt) || !mxIsUint64(cnt) || mxGetNumberOfElements(cnt) != 1 ) { ssSetErrorStatus(S, "Count field is invalid"); return; } rtd->cnt = ((uint64_T*)(mxGetData(cnt)))[0]; } }
See Also
Version History
Introduced in R2009a