ssSupportsMultipleExecInstances

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

Синтаксис

void ssSupportsMultipleExecInstances(SimStruct *S, boolean_T val)

Аргументы

S

SimStruct, представляющий Блок s-function.

val

Вектор символа имеет значение или true или false. Если true, то Для Каждой Подсистемы поддержит наличие S-функции, действует в нем.

Описание

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

Языки

C, C++

Пример

В этом примере функция ssSupportsMultipleExecInstances находится в mdlInitializeSize. В основном, если блок безусловно поддерживает или не поддерживает Для Каждой подсистемы, функция может использоваться в 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

Была ли эта тема полезной?