FB_ALY_ContinuousPieceCounter_1Ch
Der Continuous Piece Counter 1Ch zählt die Anzahl der Teile innerhalb des konfigurierten Intervalls. Der Zähler zählt hoch, 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. Der Algorithmus liefert die Anzahl der Teile, die minimale und maximale Anzahl der Teile sowie die Zeitwerte von Minimum und Maximum.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_ContinuousPieceCounter_1Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: 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 |
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. |
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. |
Eigenschaften
Name | Typ | Zugriff | Definitionsort | Initialwert | Beschreibung |
---|---|---|---|---|---|
fTolerance | LREAL | Get, Set | Lokal | 0.0 | Toleranzwert für die Vergleiche Equal / NotEqual |
Beispiel
VAR
fbContinuousPieceCounter : FB_ALY_ContinuousPieceCounter_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
stThresholdEdge : ST_ALY_Threshold;
tInterval : LTIME := LTIME#5M;
bConfigure : BOOL := TRUE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
stThresholdEdge.eComparisonOperator := E_ALY_ComparisonOperator.Equals;
stThresholdEdge.fThreshold := 1;
fbContinuousPieceCounter.ConfigureChannel(stThresholdEdge);
fbContinuousPieceCounter.Configure(tInterval);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbContinuousPieceCounter.SetChannelValue(nInput);
fbContinuousPieceCounter.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |