FB_ALY_Scaler

Das Scaler-Modul kann verwendet werden, um ein Feature-Scaling durchzuführen.

Abhängig vom Betriebsmodus werden die Skalierungsparameter auf verschiedene Arten verwendet.

Normalisierung

FB_ALY_Scaler 1:

Standardisierung:

FB_ALY_Scaler 2:

Die Skalierungsparameter können direkt konfiguriert werden. Alternativ können sie aus einer Datei importiert werden.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_Scaler
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL; 
    bNewResult: BOOL;
    bConfigured: BOOL;
    bBusy: BOOL;
    eState: E_ALY_ConfigState;
    stFileHeader: ST_ALY_FileHeader;
    fResult : LREAL;
END_VAR

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

bBusy

BOOL

TRUE, wenn der FB aufgrund eines Dateizugriffs aktiv ist.

eState

E_ALY_ConfigState

Konfigurationsstatus des Funktionsbausteins.

fResult

LREAL

Gibt den berechneten Wert aus. Dieser wird abhängig vom Skalierungsmodus aus den beiden Skalierungsparametern berechnet.
Normalization: Ergebnis hat einen Wertebereich von 0..+1.
Standardization: Ergebnis hat einen Wertebereich von -1..+1.

FB_ALY_Scaler 4:Methoden

Name

Definitionsort

Beschreibung

Call()

Local

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

Configure()

Local

Allgemeine Konfiguration des Algorithmus, nachdem die einzelnen Koeffizienten gesetzt wurden.

ConfigureFromFile()

Local

Konfiguration des Algorithmus über eine zuvor erstellte Datei.

GetBusyState()

Local

Diese Methode liefert den Zustand Busy des Funktionsbausteins.

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.

UpdateState()

Local

Aktualisierung des Zustands, nachdem eine Zustandsänderung mit der Methode ConfigureFromFile() initiiert wurde. Wird so lange aufgerufen bis der Zielzustand erreicht ist.

Beispiel – Konfiguration durch Parameter

VAR
    fbScaler : FB_ALY_Scaler_1Ch;
    eScalingMode : E_ALY_ScalingMode := E_ALY_ScalingMode.Normalization;
    fScalingParam1 : LREAL := 2.0; // high
    fScalingParam2 : LREAL := 1.0; // low
    bConfigure : BOOL := TRUE;
    fInput : LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    fbScaler.Configure(eScalingMode, fScalingParam1, fScalingParam2);
END_IF

// Call algorithm
fbScaler.SetChannelValue(fInput);
fbScaler.Call();

Beispiel – Konfiguration durch Datei

VAR
    fbScaler : FB_ALY_Scaler_1Ch;
    eScalingMode : E_ALY_ScalingMode := E_ALY_ScalingMode.Normalization;
    tTimeout : TIME := TIME#5S;
    sFilePath : STRING := '%TC_BOOTPRJPATH%\Scaler.json';
    bConfigure : BOOL := TRUE;
    fInput : LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    fbScaler.ConfigureFromFile(tTimeout, sFilePath);
END_IF

// Update pending state
IF fbScaler.eState = E_ALY_ConfigState.Pending THEN
    fbScaler.UpdateState();
END_IF

// Call algorithm
IF fbScaler.eState = E_ALY_ConfigState.Configured THEN
    fbScaler.SetChannelValue(fInput);
    fbScaler.Call();
END_IF

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics