ssIsContinuousTask

Определите, непрерывна ли задача

Синтаксис

boolean_T ssIsContinuousTask(SimStruct *S, int_T tid)

Аргументы

S

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

tID

ID задачи.

Возвращается

true булева значения, когда моделирование выполняет непрерывную задачу. В противном случае, возвращает false.

Описание

Используйте в mdlOutputs или mdlUpdate, когда ваша S-функция имеет несколько частот дискретизации, чтобы определить, является ли задачей, представленной ID задачи tid, непрерывная задача. Например:

    if (ssIsContinuousTask(S, tid)) {
        /* Executing in the continuous task */ 
        if (ssIsSpecialSampleHit(S, 1, 0, tid)) {
            real_T *zoh = ssGetRWork(S);
            real_T *xC  = ssGetContStates(S);
            *zoh = *xC;
        }
    }

Вы не должны использовать это в S-функциях единственного уровня, или если вы не указывали время непрерывной выборки.

Языки

C, C++

Пример

Смотрите S-функцию mixedm.c, используемый в sfcndemo_mixedm.

Смотрите также

ssSetSampleTime, ssIsSpecialSampleHit

Представлено до R2006a

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