Skip to main content

CNC-Beispiel 08: Verwendung von Zusatzachsen

Sehen Sie hierzu das Beispielprojekt CNC08_AdditionalAxes.project im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples.

Dieses Beispiel erweitert das Projekt CNC01_direct.projekt das in CNC-Beispiel 01: OutQueue direkt erzeugen beschrieben ist. Es zeigt die Verwendung von Zusatzachsen. Wie in CNC-Beispiel 01 werden 4 Positionen in der XY-Ebene mit einer definierten Geschwindigkeit und Beschleunigung angefahren. Zusätzlich wird während jeder Bewegung die Zusatzachse A verfahren. Durch das Programm werden auf der Bahn zwei Wegschaltpunkte gesetzt.

CNC-Programm im Editor editieren

  1. Öffnen Sie das Projekt CNC01_direct.project aus dem Installationsverzeichnis von CODESYS .

  2. Öffnen Sie im Projekt das CNC-Programm Example.

  3. Ergänzen Sie die Fahrbefehle um Positionen für die Zusatzachse A:

    Beispiel 49. CNC-Editor
    N0  G01 X82.9 Y 8.9 A20 F50 E30 E-30
    N10 G02 X84.9 Y84.6 A40 R100 H12 L10
    N20 G01 X 6.6 Y25.7 A60 H-1 O0.8
    N30 G03 X54.6 Y49.7 A80 R100


    sm_img_cnc_example8_1.png

Drive Interface, Steuerungskonfiguration erstellen

  1. Fügen Sie unterhalb des SoftMotion General Axis Pool einen weiteren virtuellen Antrieb A_Drive ein.

  2. Stellen Sie die Parameter wie folgt ein:

    sm_img_cnc_example8_2.png

IEC-Programm editieren

  1. Öffnen Sie das CFC-Programm Ipo.

  2. Aktivieren Sie den zuvor hinzugefügten Antrieb A_Drive mit dem Funktionsbaustein MC_Power.

    sm_img_cnc_example8_3.png
  3. In diesem Beispiel soll mit der Zusatzachse A eine einfache Orientierungsachse (A_Drive) gesteuert werden. Aus diesem Grund ist kein weiterer Transformationsbaustein nötig. Die Sollposition des Interpolators entspricht direkt der Sollposition des Antriebs und wird über den Selektor SMC_POSINFO mit dem Funktionsbaustein SMC_ControlAxisByPos übernommen. Die Applikation gewährleistet nicht, dass die Ausgaben des Interpolators stetig sind. Die Position der Zusatzachse endet zum Beispiel an einem anderen Punkt als sie anfängt. Deshalb sollten Sie die Sprungvermeidung (bAvoidGaps, fGapVelocity, fGapAcceleration, fGapDeceleration) aktivieren. Danach verbinden Sie den Ausgang bStopIpo mit dem Eingang bEmergency_Stop des Interpolators und den Interpolator-Ausgang iStatus mit den entsprechenden Eingängen der Achskontrollbausteine.

    Achten Sie bei der Programmierung mit CFC vor allem auch auf die richtige Reihenfolge der Bausteine.

    sm_img_cnc_example8_4.png

Inbetriebnahme

Übersetzen Sie das erstellte Programm und starten sie es. Das Programm führt die CNC-Bewegung aus, sobald der Eingang Execute des Interpolators gesetzt wurde. Wenn das Programm vollständig abgefahren ist, können Sie es durch eine erneute steigende Flanke wieder starten.

Beachten Sie während der Ausführung des CNC-Programms die Position der Zusatzachse A (piSetPosition.dA), die in der Visualisierung des Interpolationsbausteins dargestellt ist.