FB_ALY_TrendLine

Der Trend Line Baustein sorgt für die Weiterleitung von Trends der Eingangssignale zur späteren Verwendung im HMI-Dashboard. Es können beliebige Kanäle für die Weiterleitung ausgewählt werden, wobei die Anzahl der Kanäle über NumChannels gesteuert werden kann. Für jeden Kanal wird dann jeweils ein Wert pro Minute gespeichert. Damit ist der Baustein nicht zur Signalweiterleitung geeignet, sondern eher für die Darstellung von Trends für Signale, die sich langsam verändern.

Da die Funktion dieses Bausteins für die Analyse selbst irrelevant ist, zählt er zur Kategorie Visualization Only.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_StateHistogram_1Ch
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
    fbLastValue: FB_ALY_DateTime;
    nCountValues: ULINT;
END_VAR

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

fbLastValue

FB_ALY_DateTime

Zeitstempel des zuletzt hinzugefügten Datenpunkts.

nCountValues

ULINT

Anzahl der gültigen Werte.

FB_ALY_TrendLine 2:Methoden

Name

Definitionsort

Beschreibung

Call()

Local

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

GetChannelOutputArray()

Local

Abrufen des Ergebnis-Arrays eines Kanals, ohne neue Werte hinzuzufügen.

Reset()

Local

Setzt alle internen Zustände oder die bisher durchgeführten Berechnungen zurück.

SetChannelInitial()

Local

Initialisierung der Ausganswerte eines Kanals beispielsweise mit persistenten Daten.

SetChannelValue()

Local

Methode zur Übergabe von Werten an den Algorithmus.

SetInital()

Local

Initialisierung der internen Zustände beispielsweise mit persistenten Daten.

Beispiel

VAR
    fbTrendLine : FB_ALY_TrendLine(nNumChannels := 2);
    fbSystemTime : FB_ALY_GetSystemTime;

    fInput1 : LREAL;
    nInput2 : ULINT;
END_VAR
VAR PERSISTENT
    aTrends : ARRAY[1..2] OF ARRAY[1..10080] OF LREAL;
    tLastValue : ULINT;
    nCountValues : UDINT;
END_VAR
// Get current system time
fbSystemTime.Call();

IF bSetPersistent THEN
    bSetPersistent := FALSE;
    fbTrendLine.SetChannelInitial(1, ADR(aTrends[1]), SIZEOF(aTrends[1]));
    fbTrendLine.SetChannelInitial(2, ADR(aTrends[2]), SIZEOF(aTrends[2]));
    fbTrendLine.SetInitial(tLastValue, nCountValues);
END_IF

// Call algorithm
fbTrendLine.SetChannelValue(1, fInput1);
fbTrendLine.SetChannelValue(2, nInput2);
fbTrendLine.Call(fbSystemTime.tSystemTime);
fbTrendLine.GetChannelOutputArray(1, ADR(aTrends[1]), SIZEOF(aTrends[1]));
fbTrendLine.GetChannelOutputArray(2, ADR(aTrends[2]), SIZEOF(aTrends[2]));
tLastValue := fbTrendLine.fbLastValue.nRaw;
nCountValues := fbTrendLine.nCountValues;

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics