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
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 |
fbLastValue | FB_ALY_DateTime | Zeitstempel des zuletzt hinzugefügten Datenpunkts. |
nCountValues | ULINT | Anzahl der gültigen Werte. |
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 |