FB_ALY_MinMaxAvg

Der Min Max Avg berechnet das Minimum, das Maximum und den Durchschnitt der Eingangswerte vom Beginn der Analyse bis zum gegenwärtigen Zeitpunkt. Im Vergleich zum Min Max Avg 1Ch werden eine beliebige Anzahl von Eingangskanälen unterstützt. Die Berechnungen werden für jeden Eingangskanal dediziert berechnet. Darüber hinaus werden zusätzliche Ausgangswerte über alle Eingangskanäle errechnet.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_MinMaxAvg
VAR_OUTPUT
    ipResultMessage : Tc3_EventLogger.I_TcMessage;
    bError : BOOL;
    bNewResult : BOOL;
    bConfigured : BOOL;
    fResult : LREAL;
    fOverallMin : LREAL;
    fOverallMax : LREAL;
    fOverallAvg : LREAL;
    fbTimeOverallMin : FB_ALY_DateTime;
    fbTimeOverallMax : FB_ALY_DateTime;
END_VAR

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

fOverallMin

LREAL

Minimum aller Eingangswerte.

fOverallMax

LREAL

Maximum aller Eingangswerte.

fOverallAvg

LREAL

Durchschnitt aller Eingangswerte.

fbTimeOverallMin

FB_ALY_DateTime

Zeitstempel von fOverallMin.

fbTimeOverallMax

FB_ALY_DateTime

Zeitstempel von fOverallMax.

FB_ALY_MinMaxAvg 2: Methoden

Name

Definitionsort

Beschreibung

Call()

Local

Methode zur Berechnung der Ausgänge für eine bestimmte Konfiguration.

FB_init()

Local

Initialisieren der Anzahl der Eingangskanäle.

GetChannelOutputArray()

Local

Abrufen des Ergebnis-Arrays für einen bestimmten Kanal, ohne neue Werte hinzuzufügen.

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
    fbMinMaxAvg : FB_ALY_MinMaxAvg(nNumChannels := 2);
    fbSystemTime : FB_ALY_GetSystemTime;
    fInput : LREAL;
    nInput : INT;
    aMin : ARRAY[1..2] OF LREAL;
    aMax : ARRAY[1..2] OF LREAL;
    aAvg : ARRAY[1..2] OF LREAL;
END_IF

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

// Call algorithm
fbMinMaxAvg.SetChannelValue(1, fInput);
fbMinMaxAvg.SetChannelValue(2, nInput);
fbMinMaxAvg.Call(fbSystemTime.tSystemTime);
fbMinMaxAvg.GetChannelOutputArray(1, ADR(aMin), SIZEOF(aMin));
fbMinMaxAvg.GetChannelOutputArray(2, ADR(aMax), SIZEOF(aMax));
fbMinMaxAvg.GetChannelOutputArray(3, ADR(aAvg), SIZEOF(aAvg));

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics