# MC_Stop

Der FB MC_Stop führt zu einem gesteuerten Bewegungshalt und führt die Achse in den Zustand „Stopping“. Der Bewegungshalt wird immer ruckbegrenzt mit dem in „Jerk“ eingestellten konstanten Ruck für den Aufbau der Bremsverzögerung ausgeführt.

Werden die optionalen Parameter „Deceleration“ und „Jerk“ nicht angegeben oder <= 0 gesetzt, so werden die Dynamikwerte aus der entsprechenden Achsliste übernommen.

Er bricht jede laufende Beauftragung durch andere Bewegungs-FBs ab. Entgegen der Definition des Zustandsgraphen bei PLCopen hat es sich in der Praxis als nützlich erwiesen, auch eine Achse, die sich im Zustand „Stopping“ befindet, durch die Beauftragung mit einem anderen Bewegungs-FB abbrechen zu können. Der FB MC_Stop setzt den Ausgang „Done“, sobald die Achse steht. Der Achszustand „Stopping“ wird jedoch weiterhin noch solange beibehalten, wie der Eingang „Execute“ noch TRUE ist.

Blockdiagramm

Parameter des FB

VAR_IN_OUT
Variablenname | Datentyp | Beschreibung
Axis | AXIS_REF | Achsreferenz
VAR_INPUT
Variablenname | Datentyp | Beschreibung
Execute | BOOL | Startet die Beauftragung mit steigender Flanke.
Deceleration | LREAL | Wert der Verzögerung. Dieser Wert ist immer positiv anzugeben. Wertebereich [0.0, 2147483647.0] Standard-Einheit [1mm/s2 bzw. 1°/s2]
Jerk | LREAL | Wert des Rucks. Dieser Wert ist immer positiv anzugeben. Wertebereich [0.0, 2147483647.0] Standard-Einheit [1mm/s3 bzw. 1°/s3]
VAR_OUTPUT
Variablenname | Datentyp | Beschreibung
Done | BOOL | Geschwindigkeit 0 wurde erreicht. Achtung! Der „Done“ Ausgang zeigt nur an, dass die Achse nun stillsteht. Der Achszustandsautomat bleibt aber zunächst im Zustand STOPPING, erst wenn zusätzlich der Eingang „Execute“ FALSE ist, geht der Achszustandsautomat in den Zustand „STANDSTILL“.
Error | BOOL | Ist TRUE, wenn ein Fehler im FB auftritt
ErrorID | WORD | Fehlerkennung

Verhalten des FB:

- Die Beauftragung zum Anhalten der Achse erfolgt nur, wenn die Achse sich im Zustand „Standstill“ oder „Continuous Motion“ oder „Discrete Motion“ oder „Synchronized Motion“ oder „Homing“ befindet. Ist dies nicht Fall, wird Ausgang „Error“ FALSE und „ErrorID“ zeigt einen Fehlerwert an, der den Zustand bezeichnet, in dem sich die Achse aktuell befindet.
- Die Eingangsvariablen „Deceleration“ und „Jerk“ werden innerhalb des FB nur auf ihren Wertebereich überwacht. Bei Überschreiten wird eine die Variable betreffende Fehlernummer am Ausgang „ErrorID“ ausgegeben und „Error“ auf TRUE gesetzt. Darüber hinaus findet eine Begrenzung der Verzögerung innerhalb des Motion Controllers statt. Wird eine Verzögerung größer als getriebe[0].dynamik.a_max (P-AXIS-00008) kommandiert, so wird die Bewegung trotzdem durchgeführt, die Werte werden jedoch auf die parametrierten Werte begrenzt und es wird eine Warnung ausgegeben.
- Sinnvolle Werte für den Ruck liegen zwischen dem Minimalruck von Deceleration/100 s und dem Maximalruck von Deceleration/TA. Bei der minimalen Rampenzeit von TA liegt der Grenzübergang zur nicht ruckbegrenzten Geschwindigkeitsführung. Bei einem Wert von 0 wird zur Bestimmung des Rucks die maximale Rampenzeit aus P-AXIS-00195 bis P-AXIS-00198 verwendet.
- Ist der FB aktiv, kann kein neuer Auftrag abgesetzt werden. Er ist nicht retriggerbar und wird deshalb den Fehlerausgang „Error“ TRUE setzen und am Ausgang „ErrorID“ den Fehler P-ERR-44008 (ERR_PO_AX_STOP_RETRIGGERD) anzeigen.