ssGetBlockReduction

Determine whether a block has requested block reduction before the simulation has begun and whether it has actually been reduced after the simulation loop has begun

Syntax

uint_T ssGetBlockReduction(SimStruct *S)

Arguments

S

SimStruct representing an S-Function block.

Returns

The result of this function depends on when it is invoked. When invoked before the simulation loop has started, i.e., in mdlSetWorkWidths or earlier, this macro returns 1 if the block has previously requested that it be reduced. When invoked after the simulation loop has begun, this macro returns 1 if the block has actually been reduced, i.e., eliminated from the list of blocks to be executed during the simulation loop. Otherwise, returns 0.

Description

Use to determine if a block requested block reduction, or to determine if the block has already been reduced.

    Note   If a block has been reduced, the only callback method invoked for the block after the simulation loop has begun is the block's mdlTerminate method. Further, the Simulink® engine invokes the mdlTerminate method only if the block has set its SS_OPTION_CALL_TERMINATE_ON_EXIT option, using ssSetOptions. Thus, if your block needs to determine whether it has actually been reduced, it must set the SS_OPTION_CALL_TERMINATE_ON_EXIT option before the simulation loop has begun and invoke ssGetBlockReduction in its mdlTerminate method.

Languages

C, C++

Was this topic helpful?