Skip to main content

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.

    StartModeabsoluterelative

  • Die Slave-Achse synchronisiert so schnell wie möglich unter Einhaltung von vorgebbaren Geschwindigkeits-, Beschleunigungs-, Verzögerungs- und Ruckgrenzen. 

    StartModeramp_inramp_in_posramp_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 mit StartMode = absolute

  • ciSlaveRampIn mit StartMode = ramp_in

  • ciSlaveRampInDist mit StartMode = 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örige MC_CamIn-Instanz ist sofort Active und InSync.

  • Die Achse SlaveRampIn synchronisiert unter Einhaltung der kommandierten Dynamikgrenzen. Die zugehörige MC_CamIn-Instanz ist sofort Active. Ab Master-Position ~114 folgt die Slave-Achse der durch die von der Kurvenscheibe und der Master-Achse vorgegebenen Trajektorie und die MC_CamIn-Instanz meldet InSync.

  • Die Achse SlaveRampInDist bleibt zunächst stehen, bis die Master-Achse bis auf die an der MC_CamIn-Instanz konfigurierten MasterStartDistance von 60 an die MasterSyncPosition von 120 herangekommen ist. Dann beginnt die Synchronisierung und die MC_CamIn-Instanz meldet Active. Wenn die Master-Achse die MasterSyncPosition 120 erreicht, folgt die Slave-Achse der durch Kurvenscheibe und Master-Achse vorgegebenen Trajektorie und die MC_CamIn-Instanz meldet InSync.

Inbetriebnahme

  1. Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.

  2. Starten Sie den Trace und die Applikation.

  3. Im Trace können Sie die Bewegung der virtuellen Achsen nachvollziehen.