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
Öffnen Sie das Projekt
CNC01_direct.project
aus dem Installationsverzeichnis von CODESYS .Öffnen Sie im Projekt das CNC-Programm
Example
.Ergänzen Sie die Fahrbefehle um Positionen für die Zusatzachse A:
Beispiel 49. CNC-EditorN0 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
Drive Interface, Steuerungskonfiguration erstellen
Fügen Sie unterhalb des SoftMotion General Axis Pool einen weiteren virtuellen Antrieb A_Drive ein.
Stellen Sie die Parameter wie folgt ein:
IEC-Programm editieren
Öffnen Sie das CFC-Programm
Ipo
.Aktivieren Sie den zuvor hinzugefügten Antrieb A_Drive mit dem Funktionsbaustein
MC_Power
.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 FunktionsbausteinSMC_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 AusgangbStopIpo
mit dem EingangbEmergency_Stop
des Interpolators und den Interpolator-AusgangiStatus
mit den entsprechenden Eingängen der Achskontrollbausteine.Achten Sie bei der Programmierung mit CFC vor allem auch auf die richtige Reihenfolge der Bausteine.
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.