FB_ALY_Integrator_1Ch
Der Integrator 1Ch integriert den Eingangswert über die Zeit mit einer Basiseinheit von einer Sekunde und liefert das Ergebnis dieser Integrationsoperation. Für die Näherung dieses Integrals wird die Trapezregel angewendet. Das Trapez zwischen zwei aufeinanderfolgenden Zeitstempeln
und
mit den Werten
und
wird berechnet als
.
Wenn der Integrationsmodus „absolut“ („|x|“) in der Konfiguration gewählt wird, werden und
in der obigen Gleichung durch ihre absoluten Werte ersetzt.
In jedem Zyklus wird das Trapez zwischen dem aktuellen und dem letzten Zeitstempel berechnet und zu der Summe der Trapeze ab dem Beginn der Analyse addiert. Zusätzlich kann diese Summe um einen Faktor skaliert werden, der einzeln konfiguriert werden kann.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_Integrator_1Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
fResult: LREAL;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
bPersistent | BOOL | Ist der Wert |
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 |
fResult | LREAL | Gibt das Ergebnis der Integration aus. |
Methoden
Name | Definitionsort | Beschreibung |
---|---|---|
Call() | Local | Methode zur Berechnung der Ausgänge für eine bestimmte Konfiguration. |
Configure() | Local | Allgemeine Konfiguration des Algorithmus mit seinen parametrisierten Bedingungen. |
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. |
Beispiel
VAR
fbIntegrator : FB_ALY_Integrator_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
eIntegrationMode : E_ALY_IntegrationMode := E_ALY_IntegrationMode.Direct;
fFactor : LREAL := 1.0;
bConfigure : BOOL := TRUE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
fbIntegrator.Configure(eIntegrationMode, fFactor);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbIntegrator.SetChannelValue(nInput);
fbIntegrator.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |