Main Content

mdlSetOperatingPoint

Restore operating point of C MEX S-function

Since R2019a

Required

No

Languages

C, C++

Syntax

#定义MDL_OPERATING_POINTvoid mdlSetOperatingPoint(SimStruct* S, const mxArray* in)

Arguments

S

SimStruct representing an S-Function block.

const mxArray* in

Operating point of S-Function created bymdlGetOperatingPoint.

Description

The Simulink®engine invokes this custom method at the beginning of a simulation of the model containingS(SimStruct representing an S-Function block).mdlSetOperatingPointsets the initial simulation state of the S-function to the operating point of the model.

Example

/* Function: mdlSetOperatingPoint * Abstract: * Unpack the MATLAB structure passed and restore it to * the RunTimeData structure */ static void mdlSetOperatingPoint(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]; } }

Version History

Introduced in R2019a