Sie sind auf Seite 1von 1

check if the

currentFrequency value is
between the minExpected and
the maxExpected

(float)currentFreq < minExpected

True

detectedErrors |= ERR_DISC_FREQ False

(float)currentFreq > maxExpected

True

detectedErrors |= ERR_DISC_FREQ False

Campbell Mode output
else
verification

constantErrorWindow = (vCampbellExpected < (float)CAMPBELL_MIN_RANGE)? (float) CAMPBELL_CONSTANT_ERROR: (float) 0.0

minExpected = -constantErrorWindow

If it is in sweep mode the If the sweep is off the
maximum expected value is maximum value is below the
currentSweepState == SWEEP_OFF
over CAMPBELL_9 constant value
value plus the tolerance

False True

check if the
maxExpected = (1.0 + VCAMPBELL_TOL)( (float) CAMPBELL_9) + constantErrorWindow currentVcampbell value is maxExpected = (1.0 + VCAMPBELL_TOL)( (float) vCampbellExpected) + constantErrorWindow
between the minExpected and
the maxExpected

(float)currentVcampbell < minExpected

True

detectedErrors |= ERR_DISC_CAMPB False

(float)currentVcampbell > maxExpected

True

Rate errors
Min value and Max value for detectedErrors |= ERR_DISC_CAMPB False
expected rate

In pulses mode, below 10 Hz,
constantErrorWindow = (rateRealExpectedVal < (float)RATE_MIN_RANGE)? (float) RATE_CONSTANT_ERROR: (float) 0.0
a constant error is added

isOutputInPulsesMode() && (currentFreq < (double)FREQ_600_HZ

True

) False

constantErrorWindow += (float)RATE_CONSTANT_ERROR_MIN_FREQ

minExpected  = (1.0 - RATE_TOL)(float)rateRealExpectedVal - constantErrorWindow

check if the Rate value is a maxExpected  = (1.0 + RATE_TOL)(float)rateRealExpectedVal + constantErrorWindow
valid value

(float)currentRateFiltered < minExpected

True

detectedErrors |= ERR_DISC_RATE False

(float)currentRateFiltered > maxExpected

True

**END  Check False
for Output errors ** detectedErrors |= ERR_DISC_RATE

The module is OFF or the
output is off
No checks to perform else
Make a reset in the rate
calculus function

rateCalcRestart()

Das könnte Ihnen auch gefallen