ssSupportsMultipleExecInstances

Задайте, что блок For Each Subsystem поддерживает S-функцию, работающую внутри подсистемы.

Синтаксис

void ssSupportsMultipleExecInstances(SimStruct *S, boolean_T val)

Аргументы

S

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

val

Вектор символов имеет значение любой из true или false. Если trueтогда For Each Subsystem будет поддерживать, чтобы S-функция работала внутри него.

Описание

Позволяет блоку S-function работать из блока For Each Subsystem. Лучше всего вызвать этот макрос из mdlSetWorkWidths функция.

Языки

C, C++

Пример

В этом примере ssSupportsMultipleExecInstances функция находится внутри mdlInitializeSize. В основном, если блок безоговорочно поддерживает или не поддерживает подсистему For Each, функция может использоваться внутри mdlInitializeSize. Если же решение опирается на скомпилированную информацию, то эта функция должна использоваться внутри mdlSetWorkWidths.

static void mdlInitializeSizes(SimStruct *S)
{
    ssSetNumDiscStates(S, 0); /* no default dstate */
    if (!ssSetNumInputPorts(S, 1)) return;
    ssSetInputPortWidth(S, 0, 1);
    if (!ssSetNumOutputPorts(S, 1)) return;
    ssSetOutputPortWidth(S, 0, 1);
    
    ssSetNumRWork(S, 0);
    ssSetNumDWork(S, 1);

    ssSetNumIWork(S, 0);
    ssSetNumPWork(S, 0);
    ssSetNumModes(S, 0);

    ssSetDWorkWidth(S, 0, 1);
    ssSetDWorkUsedAsDState(S, 0, SS_DWORK_USED_AS_DSTATE);
    ssSetDWorkName(S, 0, "State");

    ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE     |
                 SS_OPTION_WORKS_WITH_CODE_REUSE      |
                 SS_OPTION_USE_TLC_WITH_ACCELERATOR);
    
    ssSupportsMultipleExecInstances(S, true);
}

Введенный в R2010b