FB_ALY_FlipFlop_2Ch
Der Flip Flop 2Ch realisiert eine bistabile Kippstufe. Die Dominanz für das Setzen (RS) oder das Rücksetzens (SR) des Ausgangswertes kann konfiguriert werden.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_FlipFlop_2Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bOut: BOOL;
nCount: ULINT;
fbTimeLastEvent: FB_ALY_DateTime;
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 |
bOut | BOOL | Ergebnis der bistabilen Kippstufe. |
nCount | ULINT | Wird inkrementiert, wenn der Ausgangswert |
fbTimeLastEvent | FB_ALY_DateTime | Zeitstempel des letzten Ereignisses. |
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. |
ConfigureChannel() | Local | Kanalspezifische Konfiguration für den jeweiligen Algorithmus. |
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. |
SetInital() | Local | Methode zur Festlegung von Ausgangswerten für die Algorithmen, z. B. bereits abgelaufene Lebensdauer. |
Eigenschaften
Name | Typ | Zugriff | Definitionsort | Initialwert | Beschreibung |
---|---|---|---|---|---|
fTolerance | LREAL | Get, Set | Lokal | 0.0 | Toleranzwert für die Vergleiche Equal / NotEqual |
Beispiel
VAR
fbFlipFlop : FB_ALY_FlipFlop_2Ch;
fbSystemTime : FB_ALY_GetSystemTime;
stConfigS : ST_ALY_Threshold :=(eComparisonOperator:=E_ALY_ComparisonOperator.GreaterThan, fThreshold:= 0.5);
stConfigR : ST_ALY_Threshold :=(eComparisonOperator:=E_ALY_ComparisonOperator.GreaterThan, fThreshold:= 0.5);
bSetIsDominant : BOOL := TRUE;
eCountMode : E_ALY_CountMode := E_ALY_CountMode.Cyclic;
bConfigure : BOOL := TRUE;
nInS : INT;
bInR : BOOL;
END_VAR
// Get current system time
fbSystemTime.Call();
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
fbFlipFlop.ConfigureChannel(1, stConfigS);
fbFlipFlop.ConfigureChannel(2, stConfigR);
fbFlipFlop.Configure(bSetIsDominant, eCountMode);
END_IF
// Call algorithm
fbFlipFlop.SetChannelValue(1, nInS);
fbFlipFlop.SetChannelValue(2, bInR);
fbFlipFlop.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |