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,relativeDie 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_negEs 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:
ciSlaveAbsolutemitStartMode = absoluteciSlaveRampInmitStartMode = ramp_inciSlaveRampInDistmitStartMode = 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
SlaveAbsolutespringt sofort auf die über die Kurvenscheibe definierten Sollwerte. Die zugehörigeMC_CamIn-Instanz ist sofortActiveundInSync.Die Achse
SlaveRampInsynchronisiert unter Einhaltung der kommandierten Dynamikgrenzen. Die zugehörigeMC_CamIn-Instanz ist sofortActive. Ab Master-Position~114folgt die Slave-Achse der durch die von der Kurvenscheibe und der Master-Achse vorgegebenen Trajektorie und dieMC_CamIn-Instanz meldetInSync.Die Achse
SlaveRampInDistbleibt zunächst stehen, bis die Master-Achse bis auf die an derMC_CamIn-Instanz konfiguriertenMasterStartDistancevon 60 an dieMasterSyncPositionvon 120 herangekommen ist. Dann beginnt die Synchronisierung und dieMC_CamIn-Instanz meldetActive. Wenn die Master-Achse dieMasterSyncPosition120erreicht, 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.