FB_ALY_LinearRegressionInference
Der Baustein Linear Regression Inference berechnet die Linearkombination der Inputs (Input 01 .. Input 0n) mit den Koeffizienten (Weights 00.. Weights 0n).
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
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 |
bBusy | BOOL |
|
eState | Konfigurationsstatus des Funktionsbausteins. | |
stFileHeader | ST_ALY_FileHeader | Header-Informationen der gelesenen Datei. |
fResult | LREAL | Gibt den aus der Linearkombination berechneten Wert an. |
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 |