Вернуть операционную точку моделирования S-функции C MEX в виде структуры данных MATLAB
Нет
C, C++
mxArray* mdlGetOperatingPoint(SimStruct* S)
S
SimStruct представляет S-функциональный блок.
Модуль Simulink ® вызывает этот пользовательский метод для получения рабочей точки моделирования (снимка) модели, содержащей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-function API| mdlSetOperatingPoint| GetOperatingPoint