ST_WG_Weighing_Validation
Unterstruktur für die Konfigurationsstruktur ST_WG_Weighing. Gesetzte Parameter wirken sich bei den Funktionsbaustein Ausgängen bValidMeasurement, bNewResult, tLastResult, fLastWeight und fLastStd aus.
(*This configure struct helps to find the actual weight during one measuring cycle.
A measuring cycle starts when FB_WG_Weighing.fWeight exceeds fThresholdWeight and ends when it falls below fRelativeWeightLimit*FB_WG_Weighing.fLastWeight or fThresholdWeight (if fRelativeWeightLimit is not set).
The actual weight will be displayed in FB_WG_Weighing.fLastWeight (FB_WG_Weighing.fWeight with smallest FB_WG_Weighing.fStd).
Optional parameters are ignored if they are zero. None of the parameters can be less than zero.*)
TYPE ST_WG_Weighing_Validation :
STRUCT
fThresholdWeight : LREAL := 50.0; (* Minimum value for the measured weight. This condition is fulfilled if FB_WG_Weighing.fWeight is greater than or equal to fThresholdWeight. *)
nValidationSamples : UDINT := 10; (* Number of input values for which the other ST_WG_Weighing_Validation parameter conditions (fThresholdWeight, fMaxStd, fMaxWeightDeviation) must be fulfilled so that FB_WG_Weighing.bValidMeasurement=TRUE (optional, recommended). *)
fMaxStd : LREAL := 5.0; (* Upper limit for the standard deviation. This condition is fulfilled if FB_WG_Weighing.fStd is less than or equal to fMaxStd (optional, recommended). *)
fMaxWeightDeviation : LREAL := 0.0; (* Upper limit for the maximum weight deviation. This condition is fulfilled if FB_WG_Weighing.fMax - FB_WG_Weighing.fMin is less than or equal to fMaxWeightDeviation (optional, recommended). *)
fRelativeWeightLimit : LREAL := 0.0; (* fRelativeWeightLimit (> 0 and < 1) specifies that FB_WG_Weighing.bNewResult and FB_WG_Weighing.tLastResult are updated if FB_WG_Weighing.fWeight falls below the fRelativeWeightLimit * FB_WG_Weighing.fLastWeight limit value (optional). *)
END_STRUCT
END_TYPE
fThresholdWeight
ist der Mindestwert für das gemessene Gewicht. Diese Bedingung ist erfüllt, wennFB_WG_Weighing.fWeight
größer oder gleichfThresholdWeight
ist.nValidationSamples
ist die Anzahl der Eingangswerte, für die die anderenST_WG_Weighing_Validation
– Parameterbedingungen (fThresholdWeight, fMaxStd, fMaxWeightDeviation)
erfüllt sein müssen, damitFB_WG_Weighing.bValidMeasurement=TRUE
ist (optional, empfohlen).fMaxStd
ist die obere Grenze für die Standardabweichung. Diese Bedingung ist erfüllt, wennFB_WG_Weighing.fStd
kleiner oder gleichfMaxStd
ist (optional, empfohlen).fMaxWeightDeviation
ist die obere Grenze für die maximale Gewichtsabweichung. Diese Bedingung ist erfüllt, wennFB_WG_Weighing.fMax - FB_WG_Weighing.fMin
kleiner oder gleichfMaxWeightDeviation
ist (optional, empfohlen).fRelativeWeightLimit
(> 0 und < 1)FB_WG_Weighing.bNewResult
undFB_WG_Weighing.tLastResult
aktualisiert werden, wennFB_WG_Weighing.fWeight
unter dem GrenzwertfRelativeWeightLimit
·FB_WG_Weighing.fLastWeight
fällt (optional).

Steigt FB_WG_Weighing.fWeight
über fThresholdWeight
, wird so lange nach dem Gewicht mit dem kleinsten FB_WG_Weighing.fStd
gesucht, bis FB_WG_Weighing.fWeight
die fThresholdWeight
Grenze wieder verlässt. Ist fRelativeWeightLimit
gesetzt, dann endet die Messung, wenn FB_WG_Weighing.fWeight
unter fThresholdWeight
*fRelativeWeightLimit
fällt. Das ermittelte Gewicht wird das erste Mal bei einer steigenden Flanke von FB_WG_Weighing.bValidMeasurement
in FB_WG_Weighing.fLastWeight
angezeigt und so lange aktualisiert, bis die Messung beendet ist. Beim Ende der Messung wird der Zeitstempel in FB_WG_Weighing.tLastResult
gesetzt und für einen Zyklus FB_WG_Weighing.bNewResult
auf TRUE gesetzt. Steigt FB_WG_Weighing.fWeight
wieder über fThresholdWeight
, dann wird FB_WG_Weighing.fLastWeight
auf null gesetzt und es beginnt eine neue Messung.