exponenta event banner

mdlGetSimState

(Не рекомендуется) Возвращает состояние моделирования C MEX S-функции в качестве допустимой структуры данных MATLAB, такой как матричная структура или массив ячеек.

Примечание

mdlGetSimState не рекомендуется. Использовать mdlGetOpeartingPoint вместо этого.

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_SIM_STATE
mxArray* mdlGetSimState(SimStruct* S)

Аргументы

S

SimStruct представляет S-функциональный блок.

Описание

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

Пример

/* Function: mdlGetSimState
 * Abstract:
 * Package the RunTimeData structure as a MATLAB structure
 * and return it.
 */
static mxArray* mdlGetSimState(SimStruct* S)
{
		RunTimeData_T* rtd =
			(RunTimeData_T*)ssGetPWorkValue(S, 0);
		const char* fieldNames[] = {"Count"};

		/* Create a MATLAB structure to hold the run-time data */
		mxArray* simSnap =
		mxCreateStructMatrix(1, 1, 1, fieldNames);
		mxSetField(simSnap, 0, fieldNames[0],
			mxCreateDoubleScalar(rtd->cnt));
		return simSnap;
}

См. также

mdlSetSimState, GetSimState

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