mdlSetSimState

(Не рекомендуемый) Набор состояние симуляции S-функции MEX C путем восстановления SimState.

Примечание

mdlSetSimState не рекомендуется. Используйте mdlSetOperatingPoint вместо этого.

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_SIM_STATE
void mdlSetSimState(SimStruct* S, const mxArray* in)

Аргументы

S

SimStruct, представляющий Блок s-function.

const mxArray* in

Любые допустимые данные MATLAB.

Описание

Механизм Simulink® вызывает этот пользовательский метод в начале симуляции модели, содержащей S. Simulink устанавливает начальное состояние симуляции S-функции к SimState модели.

Пример

/* 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];
    }
}

Представленный в R2009a