S-Function de Matlab: Cómo solucionar que mdlStart() no se llame

Problema

Tienes una S-Function en Matlab/Simulink y la función mdlStart no se está llamando:

sfunc_mdlstart_example.cpp
static void mdlStart(SimStruct *S)
{
    // Este código nunca se ejecuta
}

Solución

Necesitas #define MDL_START en tu archivo S-Function antes de tu función mdlStart():

mdlstart_fix.cpp
#define MDL_START
static void mdlStart(SimStruct *S)
{
    // Este código ahora se ejecuta
}

Echa un vistazo a artículos similares por categoría: Matlab/Simulink