Lernziele:

- weitere Befehle in Programmabläufe einbauen
- Greiferbefehle kennenlernen und anwenden

Sie können nun mit den Grundkenntnissen in der Bewegungsprogrammierung ein Programm erstellen, indem der Roboter eine Folge von Punkten nacheinander anfährt.

Um ein Programm zu schreiben, in dem der Roboter Aktionen durchführt, benötigen Sie jedoch weitere Kenntnisse in der Programmierung von Befehlen mit logischen Funktionen.

Der Roboter kann analoge und digitale Ein- und Ausgänge ansteuern/abfragen, hierfür stehen folgende Befehle zur Verfügung.

Befehl

Funktion

OUT

Schalten eines Ausganges

WAIT

Zeitgesteuerte Wartefunktion. Die Steuerung wartet eine eingestellte Zeit, an dieser Stelle im Programm.

PULSE

Ein programmierter Impuls, der einen Ausgang für eine definierte Zeit setzt.

WAITFOR

Signalabhängige Wartefunktion. Die Steuerung wartet an dieser Stelle auf ein definiertes Signal (IN, OUT, TIMER)

IN

 

Warten auf einen Eingang

OUT

Warten auf einen Ausgang

TIMER

Warten auf ein Zeitsignal


In dem WAITFOR Befehl lassen sich außerdem logische Verknüpfungen als Operator einbinden, mit dem sich mehrere Bedingungen in einem Befehl verarbeiten lassen.

Operator

Funktion

AND

Der Befehl wird ausgeführt, wenn beide erforderlichen Signale gegeben sind.

OR

Der Befehl wird ausgeführt, wenn mindestens ein Signal gegeben ist.

 

EXOR

Der Befehl wird ausgeführt, wenn die Signale ungleich sind.

 

NOT

Dieser Operator wird dazu verwendet um das Signal zu Negieren.


Warte-Befehle

Die Programmierung von Logikfunktionen unterscheidet sich kaum von der Bewegungsprogrammierung. Es wird hierfür auch ein Inline-Formular verwendet, das für die entsprechenden Funktionen angepasst ist.

Wartefunktionen sind dabei die anspruchsvollsten Befehle und vielseitig einsetzbar. Es können bis zu 12 Signale in einem Befehl mit unterschiedlichen Operanden abgefragt oder eine definierte Zeit gewartet werden.

Als Beispiel könnte mit einem WAITFOR eine Teilekontrolle programmiert werden, die sicherstellt, dass der Roboter in einer Greifposition nur zugreift, wenn ein Werkstück auch vorhanden ist. Des Weiteren wird der Befehlt oft am Anfang eines Programmes genutzt, um abzufragen, ob Druckluft vorhanden ist. Ebenfalls gängig ist der Befehl in Kombination mit einer Abfrage nach einer Zutrittsanforderung. Der WAITFOR Befehl wird dafür mehrmals an geeigneten Programmstellen aufgerufen, an denen der Roboter zum Stehen kommen kann.

Tutorial Video – WAITFOR Befehl erstellen Teil1:




Beispielprogrammzeilen WAITFOR:

WAIT FOR (   IN 11 ' ' )

WAIT FOR ( NOT IN 11 ' ' )

WAIT FOR (   OUT 11 ' ' )

WAIT FOR ( NOT OUT ' ' )

 

Neben dem WAITFOR gibt es noch einen zweiten Wartebefehl, den WAIT-Befehl. Der WAIT-Befehl kann als einfache Verzögerung für ein Programm gesehen werden. Um einen WAIT-Befehl zu programmieren, navigieren Sie wie bei einem WAITFOR in das Logik Auswahlfenster und wählen hier WAIT aus. Das Inline-Formular beschränkt sich hier ausschließlich auf die Eingabe einer Zeit in Sekunden (z.B. 5,00s).



Beispielprogrammzeile WAIT:

WAIT Time=5 sec


WAITFOR mit Verknüpfungen

Wie im Kapitel zuvor schon erwähnt wurde, haben Sie in einem WAITFOR-Befehl die Möglichkeit, bis zu 12 Signale zu verarbeiten. Diese Signale können auf unterschiedliche Art und Weise miteinander logisch verknüpft werden.

Wenn Sie sich das Inlineformular eines WAITFOR-Befehls anschauen, fällt auf, dass die Variable eingeklammert ist. Diese Klammern funktionieren wie in einem Term der Mathematik. D.h., wenn mehrere Terme vorhanden sind, werden zuerst die Bedingungen innerhalb der Klammern und dann erst die Ergebnisse der einzelnen Terme miteinander verarbeitet.

Tutorial Video – WAITFOR Befehl Teil 2:



Beispielprogrammzeilen WAITFOR mit Verknüpfungen:

WAIT FOR (   IN 10 ' ' AND NOT IN 11 ' ' )

WAIT FOR (   IN 10 ' ' ) AND ( NOT IN 11 ' ' )

WAIT FOR (   IN 10 ' ' AND    IN 11 ' ' ) XOR (   IN 12 ' ' )


Schaltfunktionen

Schaltfunktionen lassen sich wie Wartebefehle vielseitig programmieren. Sie können einer übergeordneten Steuerung die aktuelle Position des Roboters mitteilen, ein Signal ausgeben, dass eine Folge abgearbeitet ist, einen Greifer schließen oder öffnen, Schweißvorgang starten oder beenden, usw. die Verwendungszwecke sind zahlreich.

Hierfür stehen ihnen zwei Befehle zur Verfügung. Zum einen wäre der OUT-Befehl, der für statische Schaltfunktionen verwendet wird. Mit ihnen ist es möglich, einen Ausgang dauerhaft zu setzen oder zurücksetzen. Zum anderen steht der PULSE-Befehl zur Verfügung, dieser schaltet einen Ausgang und setzt ihn nach einer definierten Zeit wieder zurück.

Beide Befehle lösen einen genauen Halt an der programmierten Stelle aus und werden dann am Zielpunkt der Bewegung ausgeführt. Es sei denn, im Inlineformular ist der Befehls CONT ausgewählt, dann wird der Schaltvorgang zu einem unvorhersehbaren Zeitpunkt im Vorlauf ausgeführt (Zum Greifen z.B. ungeeignet).

Generell gilt: Möchten Sie Signale an die übergeordnete Steuerung weitergeben, empfiehlt es sich den Befehl zu überschleifen mit CONT. Sonst stoppt der Roboter in seinem Bewegungsablauf. Gerade bei hohen Geschwindigkeiten kommt es dann zu stark abgehackten Bewegungen.

Werden jedoch elektropneumatische Bauteile (z.B. Ventile für die Greifer) angesteuert, sollte auf ein Überschleifen verzichtet werden.

Tutorial Video - OUT und PULSE Befehl:



Beispielprogrammzeilen OUT und PULSE:

OUT 258 ' ' State=TRUE

OUT 258 ' ' State=FALSE

PULSE 258 ' ' State=TRUE Time=0.5 sec

PULSE 258 ' ' State=FALSE Time=0.5 sec


SYN OUT & SYN PULSE

Die OUT- und PULSE-Befehle stehen außerdem in der SYN OUT und SYN PULSE Variante zur Verfügung, diese Befehle ermöglichen Schaltvorgänge am Start- oder Zielpunkt einer Bewegung. Das Ausgangssignal/-impuls kann dabei zeitlich und/oder örtlich verschoben werden.

Tutorial Video – SYN OUT & SYN PULSE:



Beispielprogrammzeilen SYN OUT & SYN PULSE:

SYN OUT 258 ' ' State=TRUE  PATH=20 mm Delay=0 ms

SYN OUT 258 ' ' State=FALSE  at START Delay=0 ms

SYN OUT 258 ' ' State=TRUE  at END Delay=0 ms

SYN PULSE 258 ' ' State=TRUE Time=0.5 sec PATH=20 mm Delay=0 ms

SYN PULSE 258 ' ' State=FALSE Time=0.5 sec at START Delay=0 ms

SYN PULSE 258 ' ' State=TRUE Time=0.5 sec at END Delay=0 ms


Zuletzt geändert: Freitag, 6. Oktober 2017, 11:20