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.
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 | |||
| Axis | AXIS_REF | Achsreferenz |
VAR_INPUT | |||
| Execute | BOOL | Startet die Beauftragung mit steigender Flanke. |
| Deceleration | REAL | Wert der Verzögerung. Dieser Wert ist immer positiv anzugeben. Wertebereich [0. 0, 2147483647.0] |
| Jerk | REAL | Wert des Rucks. Dieser Wert ist immer positiv anzugeben. Wertebereich [0. 0, 2147483647.0] |
VAR_OUTPUT | |||
| 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“ ist 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 findet innerhalb des Motion Controllers statt. Wird eine Verzögerung größer als getriebe[0].dynamik.a_max kommandiert, so wird die Bewegung trotzdem durchgeführt, die Werte werden jedoch auf die parametrierten Werte begrenzt und eine Warnung wird ausgegeben.
- Als Ruck sind Werte sinnvoll, die einer minimalen Rampenzeit von TA (Zykluszeit des IPO, z.B. 2 ms) und einer maximalen Rampenzeit von 100s entsprechen. 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 dem Achs-MDS verwendet.
- Ist der FB aktiv, kann kein neuer Auftrag abgesetzt werden. Er ist nicht retriggerbar und wird deshalb den Fehlerausgang „Error“ TRUE setzen und die „ErrorID“ 44008 (ERR_PO_AX_STOP_RETRIGGERD) anzeigen.