Jerk: reserviert.
Direction: reserviert. Dieser Eingang wurde nur aus Kompatibilitätsgründen ergänzt und sollte nicht oder mit
der Konstanten MC_Shortest_Way_BkPlcMc belegt werden. (ab V3.0.8)
BufferMode: reserviert. Dieser Eingang wurde vorbereitend ergänzt und sollte derzeit nicht oder mit der
Konstanten Aborting_BkPlcMc belegt werden. (ab V3.0.8)
Busy: Hier wird signalisiert, dass ein Kommando abgearbeitet wird.
Done: Hier wird die erfolgreiche Abarbeitung der Bewegung signalisiert.
CommandAborted: Hier wird ein Abbruch der Bewegung signalisiert.
Error: Hier wird das Auftreten eines Fehlers signalisiert.
ErrorID: Hier wird eine codierte Fehlerursache bereitgestellt.
Axis: Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc [} 62] zu übergeben.
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:
• Als nächstes wird überprüft, ob Position hinter einem aktiven Software-Endschalter liegt. In diesem
Fall wird mit Error und ErrorID:=dwTcHydErrCdSoftEnd reagiert.
• In Abhängigkeit vom in Axis.pStAxParams^.nProfile festgelegten Bewegungsalgorithmus kann die
Achse entweder nur aus dem Stillstand oder auch aus einer anderen noch nicht abgeschlossenen
Bewegung heraus die hier gestartete Bewegung beginnen. Sollte sie derzeit nicht in der Lage sein
diesen neuen Auftrag zu akzeptieren wird mit Error und ErrorID:=dwTcHydErrCdNotStartable reagiert.
• Befindet sich die Achse in einem gestörten Zustand oder führt sie gerade eine Stop-Operation durch
wird mit Error und ErrorID:=dwTcHydErrCdNotReady reagiert.
• Wenn Velocity zu klein (weniger als 1% der Referenzgeschwindigkeit) ist wird mit Error und
ErrorID:=dwTcHydErrCdSetVelo reagiert.
• Wenn Acceleration zu klein ist (Velocity kann nicht innerhalb von 100 Sekunden erreicht werden)
wird mit Error und ErrorID:=dwTcHydErrCdAcc reagiert.
• Wenn Deceleration zu klein ist (Velocity kann nicht innerhalb von 100 Sekunden abgebaut werden)
wird mit Error und ErrorID:=dwTcHydErrCdDec reagiert.
• Wenn der Bewegungsalgorithmus bereits einen Fehlercode signalisiert wird mit Error und
ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird die Bewegung initiiert. Dazu
werden die Parameter Position, Velocity, Acceleration und Deceleration auf die maximal zulässigen
Werte begrenzt und an den Bewegungsalgorithmus übergeben. Die Achse befindet sich ab jetzt im Zustand
McState_DiscreteMotion [} 73] und der Baustein beginnt mit der Überwachung der Bewegung.
Sollte während der Abarbeitung der Bewegung vom Bewegungsalgorithmus ein Fehlercode signalisiert wird
mit Error und ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert. Wird die vollständige Bewegung durch
die Aktivität eines anderen Bausteins verhindert, wird mit CommandAborted reagiert. Erreicht der
Bewegungsalgorithmus die Zielbedingungen der Achse wird mit Done reagiert.
Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch
aktiver Bewegung auf FALSE gesetzt wird die eingeleitete Bewegung unbeeinflusst weiter bearbeitet. Die
Signale am Ende der Bewegung (Error, ErrorID, CommandAborted, Done ) werden für einen Zyklus
gegeben.
Sehen Sie dazu auch
2 MC_BufferMode_BkPlcMc (ab V3.0) [} 84]
2 MC_Direction_BkPlcMc (ab V3.0) [} 85]
TwinCAT PLC Hydraulics
Version: 1.2
PLCopen Motion Control
55