Logische Befehle
- 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 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