FB_ALY_LinearRegressionInference

Der Baustein Linear Regression Inference berechnet die Linearkombination der Inputs (Input 01 .. Input 0n) mit den Koeffizienten (Weights 00.. Weights 0n).

FB_ALY_LinearRegressionInference 1:

Die Parameter Weights 00 bis Weights 0n können entweder manuell gesetzt werden, oder über eine Datei, wie sie vom Baustein Linear Regression Fitting erzeugt wird über Drag / Drop auf das Parameterfeld automatisch gesetzt werden. Typischerweise werden zunächst mit dem Baustein Linear Regression Fitting die Gewichte für die Regression einer Zielvariable angepasst. Anschließend kann mithilfe des Bausteins Linear Regression Inference und den angepassten Gewichten die Zielvariable anhand der Eingangsvariablen vorhergesagt werden.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_LinearRegressionInference
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_LinearRegressionInference 2: 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.

stFileHeader

ST_ALY_FileHeader

Header-Informationen der gelesenen Datei.

fResult

LREAL

Gibt den aus der Linearkombination berechneten Wert an.

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

ConfigureChannel()

Local

Konfiguration der Koeffizienten.

ConfigureFromFile()

Local

Konfiguration des Algorithmus über eine zuvor erstellte Datei.

FB_init

Local

Initialisieren der Anzahl der Eingangskanäle.

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 initiiert wurde und bis der Zielzustand nicht erreicht ist.

Beispiel – Konfiguration durch Parameter

// Configure algorithm
IF bConfigure THENVAR
    fbLinearRegressionInference : FB_ALY_LinearRegressionInference(nNumChannels := 1);
    fCoefficient0 : LREAL := 10.0;
    fCoefficient1 : LREAL := 1.0;
    bConfigure : BOOL := TRUE;
    fInputX : LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    
    fbLinearRegressionInference.ConfigureChannel(0, fCoefficient0);
    fbLinearRegressionInference.ConfigureChannel(1, fCoefficient1);
    fbLinearRegressionInference.Configure();
END_IF

// Call algorithm
fbLinearRegressionInference.SetChannelValue(1, fInputX);
fbLinearRegressionInference.Call();

Beispiel – Konfiguration durch Datei

VAR
    fbLinearRegressionInference : FB_ALY_LinearRegressionInference(nNumChannels := 1);
    tTimeout : TIME := T#5S;
    sFilePath : STRING := 'C:\TwinCAT\3.1\Boot\LinearRegressionFitting.json';
    bConfigure : BOOL := TRUE;
    fInputX : LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    fbLinearRegressionInference.ConfigureFromFile(tTimeout, sFilePath);
END_IF

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

// Call algorithm
IF fbLinearRegressionInference.eState = E_ALY_ConfigState.Configured THEN
    fbLinearRegressionInference.SetChannelValue(1, fInputX);
    fbLinearRegressionInference.Call();
END_IF

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics