Abstandsbasiertes Einrampen
Das hier beschriebene Beispielprojekt BasicMotion_CamIn_StartModes.project
finden Sie im Installationsverzeichnis von CODESYS unter dem Verzeichnis ..\CODESYS SoftMotion\Examples
.
Dieses Beispiel zeigt die Verwendung des Eingangs StartMode
des Funktionsbausteins MC_CamIn
. Über diesen Eingang wird konfiguriert, auf welche Weise die Slave-Achse beim Start von MC_CamIn
mit der Master-Achse synchronisiert wird.
Im Wesentliche gibt es die folgenden drei Möglichkeiten
Die Slave-Achse folgt sofort der durch Kurvenscheibe und Master-Achse vorgegebenen Trajektorie. Abhängig vom Startzustand der Slave-Achse kann dies zu einem Positions-, Geschwindigkeits- und/oder Beschleunigungssprung der Slave-Achse führen.
StartMode
:absolute
,relative
Die Slave-Achse synchronisiert so schnell wie möglich unter Einhaltung von vorgebbaren Geschwindigkeits-, Beschleunigungs-, Verzögerungs- und Ruckgrenzen.
StartMode
:ramp_in
,ramp_in_pos
,ramp_in_neg
Es wird eine Masterposition in der Kurvenscheibe angegeben, an der die Slave-Achse der durc Kurvenscheibe und Master-Achse vorgegebenen Trajektorie folgen soll. Die Synchronisation findet über eine konfigurierbare Distanz der Master-Achse statt.
StartMode
:ramp_in_dist
Für weitere Informationen über den Funktionsbaustein MC_CamIn siehe: MC_CamIn (FB)
Struktur der Applikation
Die Applikation besteht aus einem Programm PLC_PRG
und einem Trace. Außerdem gibt es vier virtuelle Achsen: die Master-Achse Master
und die drei Slave-Achsen SlaveAbsolute
, SlaveRampIn
und SlaveRampInDist
. Und es gibt die Kurvenscheibe Cam
.
Im Programm PLC_PRG
werden drei Instanzen von MC_CamIn
mit unterschiedlich gesetztem StartMode
-Eingang ausgeführt:
ciSlaveAbsolute
mitStartMode = absolute
ciSlaveRampIn
mitStartMode = ramp_in
ciSlaveRampInDist
mitStartMode = ramp_in_dist
Die Bausteininstanzen steuern die zugehörigen virtuellen Achsen SlaveAbsolute
, SlaveRampIn
und SlaveRampInDist
. Die Master-Achse wird mit einer MC_MoveVelocity
-Instanz mit konstanter Geschwindigkeit bewegt.
Im Trace können die Trajektorien der drei Slave-Achsen sowie die Ausgänge Active
und InSync
der MC_CamIn
-Instanzen verfolgt werden.
Alle MC_CamIn
-Instanzen werden gestartet, wenn die Master-Achse Position 40 überschreitet:
Die Achse
SlaveAbsolute
springt sofort auf die über die Kurvenscheibe definierten Sollwerte. Die zugehörigeMC_CamIn
-Instanz ist sofortActive
undInSync
.Die Achse
SlaveRampIn
synchronisiert unter Einhaltung der kommandierten Dynamikgrenzen. Die zugehörigeMC_CamIn
-Instanz ist sofortActive
. Ab Master-Position~114
folgt die Slave-Achse der durch die von der Kurvenscheibe und der Master-Achse vorgegebenen Trajektorie und dieMC_CamIn
-Instanz meldetInSync
.Die Achse
SlaveRampInDist
bleibt zunächst stehen, bis die Master-Achse bis auf die an derMC_CamIn
-Instanz konfiguriertenMasterStartDistance
von 60 an dieMasterSyncPosition
von 120 herangekommen ist. Dann beginnt die Synchronisierung und dieMC_CamIn
-Instanz meldetActive
. Wenn die Master-Achse dieMasterSyncPosition
120
erreicht, folgt die Slave-Achse der durch Kurvenscheibe und Master-Achse vorgegebenen Trajektorie und dieMC_CamIn
-Instanz meldetInSync
.
Inbetriebnahme
Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.
Starten Sie den Trace und die Applikation.
Im Trace können Sie die Bewegung der virtuellen Achsen nachvollziehen.