mdlSetOperatingPoint

Восстановите рабочую точку S-функции C MEX

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_OPERATING_POINT
void mdlSetOperatingPoint(SimStruct* S, const mxArray* in)

Аргументы

S

SimStruct, представляющий блок S-Function.

const mxArray* in

Рабочая точка S-функции, созданной mdlGetOperatingPoint.

Описание

Simulink® engine вызывает этот пользовательский метод в начале симуляции модели, содержащей S (SimStruct, представляющий блок S-Function). mdlSetOperatingPoint устанавливает начальное состояние симуляции S-функции в рабочую точку модели.

Пример

/* 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];
    }
}
Введенный в R2019a
Для просмотра документации необходимо авторизоваться на сайте