FB_ALY_IntervalPieceCounter_1Ch
Der Interval Piece Counter 1Ch zählt die Anzahl der ausgelösten Ereignisse innerhalb eines konfigurierten Intervalls, das beginnt, wenn der Wert des Flags Start Intervall TRUE ist. 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 und der Wert des Flags Start Intervall wieder True ist.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_IntervalPieceCounter_1Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bExecutingInterval: BOOL;
nNumIntervals: ULINT;
nCountLastInterval: ULINT;
nCountCurrentInterval: ULINT;
nCountMin: ULINT;
nCountMax: ULINT;
fbTimeCountMin: FB_ALY_DateTime;
fbTimeCountMax: FB_ALY_DateTime;
fbTimeCurrentInterval: FB_ALY_Timespan;
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 |
bExecutingInterval | BOOL |
|
nNumIntervals | ULINT | Anzahl der verstrichenen Intervalle. |
nCountLastInterval | ULINT | Anzahl der Ereignisse im letzten Intervall. |
nCountCurrentInterval | ULINT | Anzahl der Ereignisse im aktuellen Intervall. |
nCountMin | ULINT | Minimale Anzahl von Ereignissen im aktuellen Intervall. |
nCountMax | ULINT | Maximale Anzahl von Ereignissen im aktuellen Intervall. |
fbTimeCountMin | FB_ALY_DateTime | Zeitstempel von |
fbTimeCountMax | FB_ALY_DateTime | Zeitstempel von |
fbTimeCurrentInterval | FB_ALY_Timespan | Verstrichene Zeit im aktuellen Intervall. |
Eigenschaften
Name | Typ | Zugriff | Definitionsort | Initialwert | Beschreibung |
---|---|---|---|---|---|
fTolerance | LREAL | Get, Set | Lokal | 0.0 | Toleranzwert für die Vergleiche Equal / NotEqual |
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. |
Pause() | Local | Methode zum Pausieren der Ausführung inklusive der internen Zeitintervalle. |
Beispiel
VAR
fbIntervalPieceCounter : FB_ALY_IntervalPieceCounter_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
stThresholdEdge : ST_ALY_Threshold;
bResetOnMultipleStart : BOOL := FALSE;
tInterval : LTIME := LTIME#5M;
bConfigure : BOOL := TRUE;
bStartInterval : BOOL := FALSE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
stThresholdEdge.eComparisonOperator := E_ALY_ComparisonOperator.Equals;
stThresholdEdge.fThreshold := 1;
fbIntervalPieceCounter.ConfigureChannel(stThresholdEdge);
fbIntervalPieceCounter.Configure(bResetOnMultipleStart, tInterval);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbIntervalPieceCounter.SetChannelValue(nInput);
fbIntervalPieceCounter.Call(fbSystemTime.tSystemTime, bStartInterval)
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |