FB_ALY_MovingIntervalCounter_1Ch
Der Moving Interval Counter 1Ch zählt die Anzahl der ausgelösten Ereignisse innerhalb eines konfigurierten Intervalls. Ein Ereignis wird ausgelöst, wenn das Signal des Eingangskanals die konfigurierte Flanke bei einer bestimmten Schwelle passiert. Die Berechnung wird neu gestartet, wenn die Zeit des Intervalls abgelaufen ist.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_MovingIntervalCounter_1Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bEdge: BOOL;
bLimited: BOOL;
nCountsInInterval: ULINT;
fbTimeFirstCount: FB_ALY_DateTime;
fbTimeLastCount: 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 |
bEdge | BOOL |
|
bLimited | BOOL |
|
nCountsInInterval | ULINT | Anzahl der ausgelösten Ereignisse im aktuellen Intervall. |
fbTimeFirstCount | FB_ALY_DateTime | Zeitstempel des ersten Ereignisses im aktuellen Intervall. |
fbTimeLastCount | FB_ALY_DateTime | Zeitstempel des letzten Ereignisses im aktuellen Intervall. |
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. |
Eigenschaften
Name | Typ | Zugriff | Definitionsort | Initialwert | Beschreibung |
---|---|---|---|---|---|
fTolerance | LREAL | Get, Set | Lokal | 0.0 | Toleranzwert für die Vergleiche Equal / NotEqual |
Beispiel
VAR
fbMovingIntervalCounter : FB_ALY_MovingIntervalCounter_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
stThresholdEdge : ST_ALY_Threshold;
tInterval : LTIME := LTIME#20S;
nCountLimit : UDINT := 20;
bConfigure : BOOL := TRUE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
stThresholdEdge.eComparisonOperator := E_ALY_ComparisonOperator.Equals;
stThresholdEdge.fThreshold := 1;
fbMovingIntervalCounter.ConfigureChannel(stThresholdEdge);
fbMovingIntervalCounter.Configure(tInterval, nCountLimit);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbMovingIntervalCounter.SetChannelValue(nInput);
fbMovingIntervalCounter.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |