Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

ssIsContinuousTask

Determine whether a task is continuous

Syntax

boolean_T ssIsContinuousTask(SimStruct *S, int_T tid)

Arguments

S

SimStruct representing an S-Function block.

tid

Task ID.

Returns

The Boolean value true when the simulation is executing the continuous task. Otherwise, returns false.

Description

Use in mdlOutputs or mdlUpdate when your S-function has multiple sample times to determine if the task represented by the task ID tid is the continuous task. For example:

    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;
        }
    }

You should not use this in single-rate S-functions, or if you did not register a continuous sample time.

Languages

C, C++

Example

See the S-function mixedm.c used in sfcndemo_mixedm.

Introduced before R2006a

Was this topic helpful?