Верните рабочую точку симуляции S-функции C MEX как структуру данных MATLAB
Нет
C, C++
mxArray* mdlGetOperatingPoint(SimStruct* S)
S
SimStruct, представляющий блок S-Function.
Simulink® engine вызывает этот пользовательский метод, чтобы получить рабочую точку симуляции (моментальный снимок) модели, содержащей S
. Вызов этого метода происходит после mdlStart
и до mdlTerminate
для обеспечения доступности всех структур данных S-функций (состояний, векторов DWork и выходов). mdlGetOperatingPoint
требуется, когда податливость рабочей точки является пользовательским,
/* Function: mdlGetOperatingPoint * Abstract: * Package the RunTimeData structure as a MATLAB structure * and return it. */ static mxArray* mdlGetOperatingPoint(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; }
Пользовательский код и кодированные вручную блоки с использованием S-функции API| mdlSetOperatingPoint
| GetOperatingPoint