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

FB_ALY_CurveSketcher_1Ch 1: Ausgänge

Name

Typ

Beschreibung

ipResultMessage

I_TcMessage

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 TRUE, wenn ein Fehler auftritt.

bNewResult

BOOL

Wenn ein neues Ergebnis berechnet wurde, ist der Ausgang TRUE.

bConfigured

BOOL

Zeigt TRUE an, wenn der Baustein erfolgreich konfiguriert ist.

fLastPeak

LREAL

Y-Wert des zuletzt identifizierten Peaks.

fbTimeLastPeak

FB_ALY_DateTime

Zeitstempel von fLastPeak.

nCountPeaks

ULINT

Gesamtanzahl der gezählten Peaks.

fLastValley

LREAL

Y-Wert des zuletzt identifizierten Tals.

fbTimeLastValley

FB_ALY_DateTime

Zeitstempel von fLastValley.

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 fValueAtMaxDelta.

nCountMaxDelta

ULINT

Gesamtanzahl der gezählten lokalen Maxima von Delta.

FB_ALY_CurveSketcher_1Ch 2: 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