TB_BlockingPreDetection

Darstellung in FBD

Allgemeine Informationen

Der Funktionsbaustein TB_BlockingPreDetection wurde speziell für Schredderanwendungen entwickelt und gewährleistet eine zuverlässige Prävention von potenziellen Antriebsfehlern, darunter Überlastungen aufgrund von Strom oder i²t (thermischer Energie) sowie Blockaden.

Durch die kontinuierliche Überwachung von Strom und Geschwindigkeit ermöglicht dieser Baustein eine proaktive Erkennung und Verhinderung von kritischen Betriebszuständen, die zu Störungen führen könnten. So können potenzielle Ausfallzeiten minimiert und ein reibungsloser sowie störungsfreier Betrieb in Schredderanwendungen gewährleistet werden.

Der Funktionsbaustein bietet vier differenzierte Überwachungsebenen:

1. Arbeitsstromüberwachung:
Erreicht der Strom den Arbeitsgrenzwert ui_WorkingCurrentThreshold, wird der Ausgang x_WorkingLimitReached gesetzt und ein Timer läuft. Nach Ablauf des Timeouts (t_WorkingCurrentTimeout) wird der Ausgang x_WorkingCurrentExceeded gesetzt. Abhängig von der Einstellung x_AcknowledgeByTorqueDirChange = FALSE (Bestätigung durch Drehrichtungsänderung) muss dieser Zustand möglicherweise manuell mit x_Acknowledge quittiert werden.
2. Blockierstromüberwachung:
Erreicht der Strom den Blockadestromgrenzwert ui_BlockingCurrentThreshold, wird der Ausganb x_BlockingLimitReached gesetzt und ein Timer läuft. Nach Ablauf des Timeouts (t_BlockingCurrentTimeout) wird der Ausgang x_BlockingLimitExceeded gesetzt und der Blockierzähler us_BlockingCounter um eins erhöht. Abhängig von der Einstellung x_AcknowledgeByTorqueDirChange = FALSE (Bestätigung durch Drehrichtungsänderung) muss dieser Zustand möglicherweise manuell mit x_Acknowledge quittiert werden.
3. Blockiergeschwindigkeitsüberwachung:
Überschreitet der Strom den Blockadestromgrenzwert und weicht die Geschwindigkeit des Antriebs um mehr als den am Eingang ui_BlockingVelocityDeviation eingestellten Wert ab, wird der Timer übersprungen und der Ausgang x_BlockingLimitExceeded direkt gesetzt.
4. Blockierzähler:
Erreicht der Blockierzähler den am Eingang us_MaxNrBlockings eingestellten Wert, wird der Ausgang x_BlockingMaxCntReached gesetzt. Dieser Zustand kann nur durch "Freilauf" quittiert werden. Hierfür muss der Zustand des Antriebs mindestens "InVelocity" sein und der Strom des Antriebs muss für die am Eingang t_BlockingFreeRunTime eingestellte Zeit unter den Grenzwerten liegen. Ist der Blockierzähler größer null und der Strom des Antriebs unterhalb der Grenzwerte, wird der Zähler nach Ablauf der am Eingang t_BlockingCountDownTime eingestellten Zeti stufenweise um eins reduziert.

Empfohlene Task: Cyclic / Event
Verwendete Bibliotheken: TECH_TOOLS_40bd08 oder höher

Eingänge

Bezeichnung: Datentyp: Wertebereich: Beschreibung:
x_Enable BOOL - Freigabe des Bausteins
x_Acknowledge BOOL - Ermöglicht das Zurücksetzen der *LimitExceeded-Ausgänge
x_AcknowledgeByTorqueDirChange BOOL - Ermöglicht das automatische Zurücksetzen der *LimitExceeded-Ausgänge, wenn sich die Drehrichtung ändert.
x_NoDetectionAcc BOOL - Wenn dieser Eingang auf TRUE gesetzt ist, ist die Arbeits- oder Blockiererfassung in der Beschleunigungsphase nicht aktiv.
x_NoDetectionDec BOOL - Wenn dieser Eingang auf TRUE gesetzt ist, ist die Arbeits- oder Blockiererfassung in der Verzögerungsphase nicht aktiv.
x_DriveState_InVel BOOL - Gibt an, ob der Antriebs sich im Zustand der Geschwindigkeitsphase befindet.
x_DriveState_InAcc BOOL - Gibt an, ob der Antriebs sich im Zustand der Beschleunigungsphase befindet.
x_DriveState_InDec BOOL - Gibt an, ob der Antriebs sich im Zustand der Verzögerungsphase befindet.
us_MaxNrBlockings USINT 1 .. 255 Maximale Anzahl von Blockierungen, die erlaubt sind, bevor der Blockierungsfehler x_BlockingMaxCntReached = TRUE auftritt.
t_BlockingCountDownTime TIME T > 0s Zeit nach welcher der Blockierungszähler zurückgezählt wird, vorausgesetzt der aktuelle Motorstrom liegt unterhalb der Grenzwerte
t_BlockingFreeRunTime TIME T > 0s Zeitspanne, die der Antrieb frei läuft muss, damit der Ausgang x_BlockingMaxCntReached zurückgesetzt wird.
t_WorkingCurrentTimeout TIME 0s < T < t_BlockingCurrentTimeout Zeitspanne, nach der eine Arbeitsstromüberschreitung erkannt wird.
t_BlockingCurrentTimeout TIME T > 0s Zeitspanne, nach der eine Blockierstromüberschreitung erkannt wird.
ui_WorkingCurrentThreshold UINT 0% < I < ui_BlockingCurrentThreshold Stellt den Arbeitsstromgrenzwert in Prozent des Motornennstroms ein.
ui_WorkingCurrentHysteresis UINT 1% <= I <= 10% Stellt die Hysterese für den Arbeitsstromgrenzwert in Prozent ein.
ui_BlockingCurrentThreshold UINT 0% < I > ui_WorkingCurrentThreshold Stellt den Blockierstromgrenzwert in Prozent des Motornennstroms ein
ui_BlockingCurrentHysteresis UINT 1 <= H <= 10 Stellt die Hysterese für den Blockierstromgrenzwert in Prozent ein.
ui_BlockingVelocityDeviation UINT 1% <= v <= 95% Stellt die Geschwindigkeitsabweichung vom Sollwert r_SetpointVelocity in Prozent ein, bei der die Geschwindigkeitsüberwachung ausgelöst wird.
r_ActualCurrent REAL - Enthält den aktuellen Motorstrom in Prozent.
r_ActualVelocity REAL - Enthält die aktuelle Motordrehzahl in Prozent, bezogen auf den Motornennstrom.
r_SetpointVelocity REAL v >= 1% Enthält die Sollgeschwindigkeit des Motors in Prozent, bezogen auf den Motornennstrom.
r_SetpointAcceleration REAL a >= 1% Enthält die Sollbeschleunigung des Motors in Millisekunden.

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_WorkingLimitExceeded BOOL Zeigt an, ob der maximale Arbeitsstromgrenzwert überschritten wurde.
x_WorkingLimitReached BOOL Zeigt an, ob die Arbeitsstromgrenzwert erreicht und der Timer gestartet wurde.
x_BlockingLimitExceeded BOOL Zeigt an, ob der maximale Blockierstromgrenzwert überschritten wurde.
x_BlockingLimitReached BOOL Zeigt an, ob die Blockierstromgrenzwert erreicht und der Timer gestartet wurde.
x_BlockingMaxCntReached BOOL Zeigt an, ob die maximale Anzahl von Blockierungen erreicht wurde.
us_BlockingCounter USINT Zeigt die Anzahl der erkannten Blockierungen an.
x_Active BOOL Zeigt an, ob der Funktionsbaustein aktiv ist.
x_Busy BOOL Zeigt an, ob die Blockierungserkennung aktiv ist, abhängig von der Eingangskonfiguration und dem Antriebszustand.
x_Warning BOOL Gibt an, ob eine Warnung erkannt wurde und eine gültige w_WarningID verfügbar ist.
w_WarningID WORD Nummer zur Identifizierung der Warnung:
1 - MaxNrBlockings muss größer 0 sein
2 - BlockingCountDownTime muss größer 0s sein
3 - BlockingFreeRunTime muss größer 0s sein
4 - WorkingCurrentTimeout muss größer 0s sein
5 - BlockingCurrentTimeout muss größer 0s sein
6 - WorkingCurrentTimeout muss größer als BlockingCurrentTimeout sein
7 - WorkingCurrentThreshold muss größer 0% sein
8 - BlockingCurrentThreshold muss größer 0% sein
9 - WorkingCurrentThreshold muss kleiner BlockingCurrentThreshold sein
10 - BlockingVelocityDeviation muss größer gleich 1% und kleiner gleich 95%
11 - WorkingCurrentHysteresis muss größer gleich 1% und kleiner gleich 10%
12 - BlockingCurrentHysteresis muss größer gleich 1% und kleiner gleich 10%
13 - SetpointVelocity muss größer gleich 1%
14 - SetpointAcceleration muss größer gleich 1%
15 - Blockiergeschwindigkeitsüberwachung deaktiviert, SetpointVelocity oder SetpointAcceleration ungültig
x_Error BOOL Gibt an, ob ein Fehler aufgetreten ist und eine gültige w_ErrorID verfügbar ist.
w_ErrorID WORD Nummer zur Identifizierung des aufgetretenen Fehlers:
1 - MaxNrBlockings muss größer 0 sein
2 - BlockingCountDownTime muss größer 0s sein
3 - BlockingFreeRunTime muss größer 0s sein
4 - WorkingCurrentTimeout muss größer 0s sein
5 - BlockingCurrentTimeout muss größer 0s sein
6 - WorkingCurrentTimeout muss größer als BlockingCurrentTimeout sein
7 - WorkingCurrentThreshold muss größer 0% sein
8 - BlockingCurrentThreshold muss größer 0% sein
9 - WorkingCurrentThreshold muss kleiner BlockingCurrentThreshold sein
10 - BlockingVelocityDeviation muss größer gleich 1% und kleiner gleich 95%
11 - WorkingCurrentHysteresis muss größer gleich 1% und kleiner gleich 10%
12 - BlockingCurrentHysteresis muss größer gleich 1% und kleiner gleich 10%