FB_ALY_CurveSketcher_1Ch
Curve Sketcher 1Ch identifiziert Umkehrungen (Peaks und Täler) in einem Eingangsdatenstrom. Des Weiteren können lokale Maxima der absoluten Differenz zwischen zwei aufeinanderfolgenden Werten (bezeichnet als Delta) identifiziert werden. Analog zu einer kontinuierlichen Kurve entsprechen die identifizierten Peaks und Täler lokalen Maxima und Minima. Das Delta entspricht der Steigung, sodass ein Maximum der absoluten Werte des Deltas mit einem Wendepunkt verbunden werden kann.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_CurveSketcher_1Ch
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
fLastPeak: LREAL;
fbTimeLastPeak: FB_ALY_DateTime;
nCountPeaks: ULINT;
fLastValley: LREAL;
fbTimeLastValley: FB_ALY_DateTime;
nCountValleys: ULINT;
fValueAtMaxDelta: LREAL;
fMaxDelta: LREAL;
fbTimeMaxDelta: FB_ALY_DateTime;
nCountMaxDelta: ULINT;
END_VAR
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
ipResultMessage | Beinhaltet nähere Informationen zum aktuellen Rückgabewert. Für diesen speziellen Schnittstellenzeiger ist intern sichergestellt, dass er immer gültig/zugewiesen ist. | |
bError | BOOL | Der Ausgang ist |
bNewResult | BOOL | Wenn ein neues Ergebnis berechnet wurde, ist der Ausgang |
bConfigured | BOOL | Zeigt |
fLastPeak | LREAL | Y-Wert des zuletzt identifizierten Peaks. |
fbTimeLastPeak | FB_ALY_DateTime | Zeitstempel von |
nCountPeaks | ULINT | Gesamtanzahl der gezählten Peaks. |
fLastValley | LREAL | Y-Wert des zuletzt identifizierten Tals. |
fbTimeLastValley | FB_ALY_DateTime | Zeitstempel von |
nCountValleys | ULINT | Anzahl der erkannten Täler. |
fValueAtMaxDelta | LREAL | Eingangsvariable, die von dem zuletzt erkannten Maximum von Delta geleitet wird. Der Wert Delta ist die Differenz zwischen diesem Wert und dem Eingangswert von einem Zyklus zuvor. |
fMaxDelta | LREAL | Das zuletzt erkannte lokale Maximum der absoluten Differenz zwischen zwei aufeinanderfolgenden Werten im Eingangsstrom. |
fbTimeMaxDelta | FB_ALY_DateTime | Zeitstempel von |
nCountMaxDelta | ULINT | Gesamtanzahl der gezählten lokalen Maxima von Delta. |
Methoden
Name | Definitionsort | Beschreibung |
---|---|---|
Call() | Local | Methode zur Berechnung der Ausgänge für eine bestimmte Konfiguration. |
Configure() | Local | Allgemeine Konfiguration des Algorithmus mit seinen parametrisierten Bedingungen. |
Reset() | Local | Setzt alle internen Zustände oder die bisher durchgeführten Berechnungen zurück. |
SetChannelValue() | Local | Methode zur Übergabe von Werten an den Algorithmus. |
Beispiel
VAR
fbCurveSketcher : FB_ALY_CurveSketcher_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
fThresholdReversal : LREAL := 0.0;
bCalcInflection : BOOL := FALSE;
fThresholdDelta : LREAL := 10.0;
bConfigure : BOOL := TRUE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
fbCurveSketcher.Configure(fThresholdReversal, bCalcInflection, fThresholdDelta);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbCurveSketcher.SetChannelValue(nInput);
fbCurveSketcher.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |