Writing S-Functions    
mdlZeroCrossings

Update zero-crossing vector.

Syntax

Arguments

S
   SimStruct representing an S-Function block.

Description

An S-function needs to provide this optional method only if it does zero-crossing detection. This method should update the S-function's zero-crossing vector, using ssGetNonsampledZCs.

You can use the optional mdlZeroCrossings routine when your S-function has registered the CONTINUOUS_SAMPLE_TIME and has nonsampled zero crossings (ssGetNumNonsampledZCs(S) > 0). The mdlZeroCrossings routine is used to provide Simulink with signals that are to be tracked for zero crossings. These are typically:

Thus, the zero-crossing signals are used to locate the discontinuities and end the current time step at the point of the zero crossing. To provide Simulink with zero-crossing signals, mdlZeroCrossings updates the ssGetNonsampleZCs(S) vector.

Example

See matlabroot/simulink/src/sfun_zc.c.

Languages

C

See Also

mdlInitializeSizes, ssGetNonsampledZCs


  mdlUpdate SimStruct Functions