• Keine Ergebnisse gefunden

88 EPSON RC+ 5.0 SPEL+ Sprachreferenz Rev.1a

Curve-Anweisung

Definiert die Daten und Punkte, die notwendig sind, um einen Arm einen geschwungenen Pfad entlang zu bewegen. Viele Datenpunkte können im Pfad definiert werden, um die Präzision des Pfades zu steigern.

Syntax

Curve fileName, closure, mode, numAxes, pointList

Parameter

fileName Ein Zeichenkettenausdruck für den Namen der Datei, in der die Punktedaten gespeichert sind. Dem angegebenen fileName wird die Dateinamenerweiterung .crv angehängt, so dass keine Dateinamenerweiterung vom Benutzer spezifiziert werden muss. Wenn der Curve-Befehl ausgeführt wird, wird file erzeugt.

closure Spezifiziert, ob die definierte Kurve am Ende der Kurvenbewegung geschlossen wird, oder offen bleibt. Dieser Parameter muss auf einen von zwei möglichen Werten eingestellt werden, wie im Folgenden angezeigt.

C – Geschlossene Kurve (Closed Curve) O – Offene Kurve (Open Curve)

Wenn die offene Kurve spezifiziert wird, erzeugt der Curve-Befehl die notwendigen Daten, um den Arm am letzten Punkt der spezifizierten Punktserie zu stoppen. Wird die geschlossene Kurve spezifiziert, erzeugt der Curve-Befehl die notwendigen Daten, um die Bewegung durch den spezifizierten Endpunkt hindurch fortzusetzen und die Bewegung nach Rückkehr des Arms zur Startposition der angegebenen Punktserie für den Curve-Befehl zu stoppen.

mode Spezifiziert, ob der Arm automatisch in Tangentenrichtung der U-Achse interpoliert wird.

Kann außerdem die ECP-Nummer in den oberen vier Bits spezifizieren.

Modus-Einstellung Hexadezimal Dezimal

Curve-Anweisung

Wenn eine Tangentialkorrektur spezifiziert wird, verwendet der Curve-Befehl nur die U-Achsen-Koordinate des Startpunktes in der Punktserie. Die Tangentialkorrektur behält fortlaufend die Ausrichtung der Werkzeugtangente der Kurve in der XY-Ebene bei. Sie wird spezifiziert, wenn Werkzeuge wie z. B. Abschneidevorrichtungen installiert werden, die einer fortlaufenden Tangentenausrichtung bedürfen. Wird (mit dem Parameter closure) eine geschlossene Kurve spezifiziert, mit automatischer Interpolation in der Tangentenrichtung der U-Achse, dreht sich die U-Achse von ihrem Startpunkt aus um 360 °. Es ist daher notwendig, vor Ausführung des CVMove-Befehls mit dem Range-Befehl den Bewegungsbereich der Achse einzustellen, damit die 360°-Drehung der U-Achse keinen Fehler hervorruft.

Wenn ECP verwendet wird, muss ECP in den oberen vier Bits spezifiziert werden.

numAxes Integer-Nummer zwischen 2, 3, 4 oder sechs, die die Anzahl der in der Kurvenbewegung gesteuerten Achsen wie folgt spezifiziert:

2 - Generiert eine Kurve in der XY-Ebene ohne Bewegung der Z-Achse oder Rotation der U-Achse.

3 - Generiert eine Kurve in der XYZ-Ebene ohne Rotation der U-Achse.

4 - Generiert eine Kurve in der XYZ-Ebene mit Rotation der U-Achse.

6- Generiert eine Kurve in der XYZ-Ebene mit Rotation der U-, V- und W-Achse (nur bei 6-Achsrobotern).

Die Achsen, die nicht zur Steuerung während des Curve-Befehls angewählt wurden, halten ihre vorherigen Codiererpulslagen bei und bewegen sich während der Curve Bewegung nicht.

pointList { Punktausdruck | P(start:finish) } [, output command ] ...

Dieser Parameter ist eine Serie von Punktnummern und optionalen

Ausgangsanweisungen, die entweder durch Kommata voneinander getrennt sind oder ein aufsteigender Bereich von Punkten, der durch Doppelpunkte getrennt ist.

Normalerweise sind die Punktserien durch Kommata voneinander getrennt, wie im folgenden gezeigt:

Curve "MyFile", O, 0, 4, P1, P2, P3, P4

Manchmal definiert der Benutzer eine Punktserie unter Verwendung eines aufsteigenden Bereichs von Punkten, wie unten dargestellt.

Curve "MyFile", O, 0, 4, P(1:4)

Im oben dargestellten Beispiel hat der Benutzer eine Kurve mit den Punkten P1, P2, P3, und P4 definiert. Der output-Befehl ist optional und wird verwendet, um den

Ausgabebetrieb während der Kurvenbewegung zu steuern. Für digitale Ausgänge und Merker können die Befehle On oder Off verwendet werden. Die Eingabe eines

Ausgabebefehls nach einer Punktnummer in der Punktserie veranlasst die Ausführung des output-Befehls, wenn der Arm den Punkt unmittelbar vor dem output-Befehl erreicht.

Eine Curve-Anweisung darf maximal 16 Ausgangsbefehle enthalten. Im folgenden Beispiel wird der "On 2"–Befehl ausgeführt, sobald der Arm den Punkt P2 erreicht, dann fährt der Arm zu allen Punkten zwischen P3 und P10, P3 und P10 eingeschlossen.

Curve "MyFile", C, 0, 4, P1, P2, ON 2, P(3:10)

Beschreibung

Der Curve-Befehl erzeugt Daten, die den Manipulator die durch die Punkstserie pointList definierte Kurve entlang bewegen und speichert die Daten in einer Datei auf der Steuerung. Der CVMove-Befehl verwendet die Daten in der von Curve erstellten Datei, um den Manipulator in einer Art CP-Bewegung zu bewegen.

Curve berechnet unabhängige X-, Y-, Z-, U-, V-, und W-Koordinatenwerte für jeden Punkt mithilfe einer kubischen Spline-Funktion, um den Trajektoriebereich zu erstellen. Wenn Punkte weit voneinander entfernt sind oder die Ausrichtung des Roboters plötzlich von Punkt zu Punkt geändert

Curve-Anweisung

90 EPSON RC+ 5.0 SPEL+ Sprachreferenz Rev.1a

Es ist nicht notwendig, vor der Ausführung des Curve-Befehls Geschwindigkeiten oder

Beschleunigungen festzulegen. Die Parameter für Armgeschwindigkeit und -beschleunigung können vor Ausführen von CVMove jederzeit mittels der Befehle SpeedS oder AccelS geändert werden.

Punkte, die in einem lokalen Koordinatensystem definiert wurden, können in Serie verwendet werden, um die Kurve an der gewünschten Position zu lokalisieren. Die Punkte können, wenn sie zum lokalen Koordinatensystem gehören, durch einen Local-Befehl nach dem Curve-Befehl geändert werden.

Definieren Sie dazu alle spezifizierten Punkte in der Punktserie für den Curve-Befehl als Punkte mit lokalen Attributen.

Curve-Anweisung

Hinweis

Verwenden Sie nach Möglichkeit die Tangentialkorrektur

Es wird empfohlen, nach Möglichkeit die Tangentialkorrektur zu verwenden, insbesondere, wenn CVMove in einer kontinuierlichen Schleife durch dieselben Punkte verwendet wird. Wenn Sie keine Tangentialkorrektur verwenden, ist es möglich, dass der Roboter bei höheren Geschwindigkeiten nicht dem korrekten Pfad folgt.

Minimale und maximale Anzahl erlaubter Punkte in der offenen Kurve (Open Curve) Offene Kurven können unter Verwendung von 3 bis 200 Punkten definiert werden.

Minimale und maximale Anzahl erlaubter Punkte in der geschlossenen Kurve (Closed Curve) Geschlossene Kurven können unter Verwendung von 3 bis 50 Punkten definiert werden.

Mögliche Fehler

Versuch, den Arm außerhalb des Arbeitsbereichs zu bewegen

Der Curve-Befehl kann den Bewegungsbereich für den definierten Kurvenpfad nicht prüfen. Dies bedeutet, dass ein vom Benutzer definierter Pfad den Roboterarm dazu veranlassen kann, sich außerhalb des normalen Arbeitsbereichs zu bewegen. In diesem Fall tritt ein “out of range”-Fehler („außerhalb des Arbeitsbereichs“) auf.

Verwandte Befehle

AccelS-Funktion, Arc, CVMove, ECP, Move, SpeedS Beispiel einer Curve-Anweisung

Im folgenden Beispiel wird der Kurve der noch nicht verwendete Dateiname MYCURVE.CVT zugewiesen, eine Kurve erzeugt, die sich über die Punkte P1 bis P7 erstreckt, bei P2 der Ausgangsport 2 eingeschaltet und der Arm bei P7 verzögert.

Erstellen der Kurve

> curve "mycurve", O, 0, 4, P1, P2, On 2, P(3:7)

Bewegen des Armes zu P1 in einer geraden Linie

> jump P1

Bewegen des Armes nach der “Mycurve” genannten Kurvendefinition.

> cvmove "mycurve"

Im Dokument Änderungen in dieser Handbuchrevision (Seite 97-101)