FB_ALY_Mean_1Ch

Der Mean 1Ch berechnet den Mittelwert über die Eingangswerte nach der Formel

FB_ALY_Mean_1Ch 1:

Die Anzahl an Samples N, die mit in die Berechnung einfließen, kann über die Angabe eines Zeitintervalls konfiguriert werden. Ein kaskadierter Ausgang kann konfiguriert werden, um einen Langzeit-Mittelwert ressourcenschonend zu realisieren und Zwischenergebnisse abzugreifen. Das Zeitintervall der konfigurierten Kaskade muss einem ganzzahligen Vielfachen des Zeitintervalls der vorherigen Kaskade entsprechen.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_Mean_1Ch
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
END_VAR

FB_ALY_Mean_1Ch 2: 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.

FB_ALY_Mean_1Ch 3: 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.

SetCascades()

Local

Methode zur Konfiguration der Kaskaden. Der Aufruf erfolgt nach dem Aufruf der Configure-Methode.

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
    fbMean : FB_ALY_Mean_1Ch;
    fbSystemTime : FB_ALY_GetSystemTime;
    nNumCascades : UDINT := 5;
    fSampleRate : UDINT := 1000;
    eStartupBehaviour : E_ALY_CascadeStartupBehaviour := E_ALY_CascadeStartupBehaviour.UsePreviousCascadeValue;
    aCascadesConfigArray : ARRAY[1..5] OF LTIME := [LTIME#20MS, LTIME#1S, LTIME#1M, LTIME#1H, LTIME#1D];
    bConfigure : BOOL := TRUE;
    fInput : LREAL;
    aMean : ARRAY[1..5] OF LREAL;
    aNewResult : ARRAY[1..5] OF BOOL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;

    fbMean.Configure(nNumCascades, fSampleRate, eStartupBehaviour);
    fbMean.SetCascades(ADR(aCascadesConfigArray), SIZEOF(aCascadesConfigArray));
END_IF

// Get current system time
fbSystemTime.Call();

// Call algorithm
fbMean.SetChannelValue(fInput);
fbMean.Call(fbSystemTime.tSystemTime, ADR(aMean), SIZEOF(aMean), ADR(aNewResult), SIZEOF(aNewResult))

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics