MC_EmergencyStop_BkPlcMc (ab V3.0.5)
Der Funktionsbaustein bricht eine aktuell ausgeführte Bewegung einer Achse ab und überwacht die Notstopp-Operation.
Eingänge
VAR_INPUT
Execute: BOOL;
RampTime: LREAL; (ab/from V3.0.5)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang beendet eine Bewegung der Achse. |
RampTime | LREAL | [s] Die geforderte Anhaltezeit. |
Ein-/Ausgänge
VAR_INOUT
Axis: Axis_Ref_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Busy: BOOL;
Done: BOOL;
Error: BOOL;
ErrorID: UDINT;
Active: BOOL;
CommandAborted: BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Done | BOOL | Hier wird die erfolgreiche Abarbeitung der Operation signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlerursache bereitgestellt. |
Active | BOOL | Hier wird angezeigt, dass ein Kommando abgearbeitet wird. |
CommandAborted | BOOL | Hier wird angezeigt, dass die Abarbeitung dieses Kommandos durch ein anderes Kommando abgebrochen wurde. |
Verhalten des Bausteins
Auf eine steigende Flanke an Execute hin untersucht der Baustein das übergebene Achsinterface. Dabei können eine Reihe von Problemen erkannt und gemeldet werden:
- Ein Stopp kann nur ausgeführt werden, wenn die Achse eine aktive Bewegung ausführt. Befindet sie sich im Stillstand meldet der Baustein sofort Done.
- Befindet sich die Achse in einem gestörten Zustand oder führt sie gerade eine Stopp-Operation durch wird mit Error und ErrorID:=dwTcHydErrCdNotReady reagiert.
- Befindet sich die Achse in einem Zustand, in dem sie durch eine Kopplung mit einer anderen Achse oder einen vergleichbaren Mechanismus kontrolliert wird reagiert sie mit Error und ErrorID:=dwTcHydErrCdNotReady.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird die Stopp-Operation initiiert. Dabei wird RampTime verwendet, um unter Berücksichtigung der Bezugsgeschwindigkeit eine Verzögerung zu berechnen. Ist ein ruckbegrenzender Stellwert-Generator ausgewählt wird MaxJerk verwendet. Ist für RampTime kein Wert vorgegeben, der erkennbar größer als 0 ist wird der Achsparameter fEmergencyRamp verwendet.
Zum Abbremsen der Achse wird intern ein MC_Stop_BkPlcMc Baustein verwendet. Nachdem die Stellwertausgabe auf 0 abgebaut ist werden alle Ausgaben von Steuer- oder Regelspannungen unterdrückt, solange Execute auf TRUE gesetzt ist.