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
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 |
fOverallMin | LREAL | Minimum aller Eingangswerte. |
fOverallMax | LREAL | Maximum aller Eingangswerte. |
fOverallAvg | LREAL | Durchschnitt aller Eingangswerte. |
fbTimeOverallMin | FB_ALY_DateTime | Zeitstempel von |
fbTimeOverallMax | FB_ALY_DateTime | Zeitstempel von |
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 |