Es ist möglich, neue Anweisungen hinzuzufügen, indem Sie mit der rechten Maustaste auf ein Programm klicken oder mit dem Programmmenü arbeiten, wie im vorherigen Abschnitt gezeigt.
In diesem Abschnitt werden die Anweisungen beschrieben, die von der grafischen RoboDK-Benutzeroberfläche für die Roboter-Offline-Programmierung unterstützt werden.
Wählen Sie Programm➔
Wenn vor dem Hinzufügen der Anweisung kein Ziel ausgewählt wird, erstellt die Bewegungsanweisung ein neues Ziel. Wenn das Ziel bewegt wird, wird auch die Bewegung geändert.
Wenn dies die erste Anweisung ist, die dem Programm hinzugefügt wird, werden zwei weitere Anweisungen vor der Bewegungsanweisung hinzugefügt: eine Auswahl des Bezugssystems und eine des Werkzeug Bezugssystems. Dies stellt sicher, dass, wenn das Programm den Bewegungsbefehl erreicht, der Roboter die gleichen Bezugssysteme verwendet, die zum Erzeugen dieses neuen Ziels verwendet wurden.

Wählen Sie Programm➔
Wenn vor dem Hinzufügen der Anweisung kein Ziel ausgewählt wird, erstellt die Bewegungsanweisung ein neues Ziel. Wenn das Ziel bewegt wird, wird auch die Bewegung geändert.
PTP Bewegungen und lineare Bewegungen verhalten sich auf die gleiche Weise und können leicht von einem Typ zum anderen umgeschaltet werden.
Wie bei der PTP Bewegungsanweisung gilt: wenn dies die erste Anweisung ist, die einem Programm hinzugefügt wird, werden zwei weitere Anweisungen vor der Bewegungsanweisung hinzugefügt: eine Auswahl des Bezugssystems und eine des Werkzeug Bezugssystems.
Im Gegensatz zu PTP Bewegungen sind Lineare Bewegungen für Robotersingularitäten und Achsengrenzen anfällig. Zum Beispiel können 6-Achs Roboter nach einer linearen Bewegung keine Singularität verlassen. Das folgende Bild zeigt ein Beispiel, indem Gelenk 5 zu nahe an einer Singularität (0 Grad) ist. [...] Verwenden Sie stattdessen eine PTP Bewegung. Dies wird in der folgenden Abbildung gezeigt.

Wenn eine Linearbewegung nicht unbedingt notwendig ist, sollte sie in eine PTP Bewegung geändert werden. Dies kann über einen Rechtsklick auf die Anweisung geschehen.

Alternativ müssen das Ziel, der TCP und die Position des Bezugssystems verändert werden, um die Singularität zu verhindern.
Wählen Sie Programm➔
Der Referenzrahmen ist eine Variable, die auch als Work Object (ABB-Roboter), UFRAME (Fanuc-Roboter), FRAME (für Motoman-Roboter) oder $ BASE (für KUKA-Roboter) bezeichnet wird.

Wählen Sie Programm➔ 
Der Referenzrahmen ist eine Variable, die auch als ToolData (ABB-Roboter), UTOOL (Fanuc-Roboter), TOOL (für Motoman-Roboter) oder $ TOOL (für KUKA-Roboter) bekannt ist.

Wählen Sie Programm➔
Wenn vor dem Hinzufügen der Anweisung nicht zwei Ziele ausgewählt wurden, erstellt die Bewegungsinstruktion keine neuen Ziele. Es ist erforderlich, zwei weitere Ziele separat hinzuzufügen und sie wie im folgenden Bild gezeigt mit der kreisförmigen Bewegung zu verknüpfen.

Der kreisförmige Pfad ist ein Bogen, der von dem Punkt, an dem sich der Roboter befindet, durch den ersten Punkt (Target Linked 1) und bis zum Endpunkt (Target Linked 2) verläuft.
Wählen Sie Programm➔
Aktivieren Sie die entsprechenden Fälle, um dem Programm eine bestimmte Geschwindigkeit und/oder Beschleunigung zuzuweisen. Die Robotergeschwindigkeit wird ab dem Moment angewendet, an dem diese Anweisung ausgeführt wird.
Die Robotergeschwindigkeit kann auch im Roboterparameter-Menü geändert werden: Doppelklicken Sie auf den Roboter und wählen Sie dann die Parameter aus.

Wählen Sie Programm➔

Wählen Sie Programm➔

Wählen Sie Programm➔
Standardmäßig ist dies ein blockierender Aufruf für ein bestimmtes Programm. Es ist jedoch möglich, zu Code einfügen zu wechseln, um an der Stelle dieser Anweisung einen spezifischen Code einzugeben. Dies kann für eine bestimmte Anwendung und/oder einen bestimmten Controller nützlich sein.


Wechseln Sie von Programmaufruf zu Thread Starten, um einen nicht blockierenden Aufruf an ein Unterprogramm auszulösen. In diesem Fall startet der Controller einen neuen Thread. Diese Option ist nur für bestimmte Controller verfügbar und funktioniert nur für bestimmte Vorgänge.
Wählen Sie Programm➔
Der I/O Name kann eine Zahl oder ein Text sein, wenn es sich um eine benannte Variable handelt. Der I/O Wert kann eine Zahl (0 für Falsch und 1 für Wahr) oder ein Text sein, wenn es sich um einen benannten Status handelt.

Mit Warten auf eine digitale Eingabe wird die Programmausführung angehalten, bis sich ein bestimmter Eingang auf einen bestimmten Wert ändert. Darüber hinaus unterstützen die meisten Robotersteuerungen eine Timeout-Verzögerung. Diese verursacht einen Fehler, wenn die Wartezeit einen bestimmten Wert überschreitet. Aktivieren Sie die Option Timeout (ms), um diese Funktion zu aktivieren.

Wenn Sie simulierte digitale Eingänge und digitale Ausgänge ändern, werden neue Stationsvariablen erstellt. Um den Status dieser Variablen zu überprüfen, können Sie mit der rechten Maustaste auf die Station klicken und Stationsparameter auswählen. Ebenfalls ist es möglich, diese Variablen über die API zu lesen oder zu ändern.
Wählen Sie Programm➔
Ohne ein Überschleifen erreicht der Roboter am Ende jeder Bewegung die Geschwindigkeit 0 (es sei denn, die nächste Bewegung ist tangential zur vorherigen Bewegung). Dies verursacht hohe Beschleunigungen und schnelle Geschwindigkeitsänderungen, um eine gute Genauigkeit für jede Bewegung zu gewährleisten.
Dieser Wert wird auch als Mischradius (Universal Robots), ZoneData (ABB Roboter), CNT/FINE (Fanuc Roboter), Cornering (Mecademic Robots) oder $ APO.CDIS/$ APO.CPTP/Advance (KUKA Roboter) bezeichnet.

Der Test der Bahngenauigkeit in RoboDK ermöglicht ein besseres Verständnis der Auswirkung verschiedener Rundungswerte auf ein Messsystem.
Sie können mit Hilfe der Anweisung Simulationsereignis spezielle Ereignisse erstellen, die für die Simulation gedacht sind. Simulationsereignisse ändern nicht das Verhalten des generierten Roboterprogramms, sie fügen jedoch der Simulation im 3D-Fenster von RoboDK zusätzliche Funktionalität hinzu.
Wählen Sie Programm Simulationsereignis-Anweisung, um ein benutzerdefiniertes Simulationsereignis hinzuzufügen. Diese Art von Anweisung erzeugt kein Äquivalent im generierten Roboterprogramm, sie fügt aber eine zusätzliche Aktion in der Simulation hinzu, wenn diese Anweisung erreicht wird.
Sie können die Benutzeroberfläche verwenden, um die folgenden Aktionen als Simulationsereignisse auszulösen:
1.Ein Objekt an ein Werkzeug anbringen.
2.Ein Objekt von einem Werkzeug lösen und es an einem Koordinatensystem ablegen.
3.Ein oder mehrere Objekte oder Werkzeuge anzeigen.
4.Ein oder mehrere Objekte oder Werkzeuge verstecken.
5.Die absolute Position eines oder mehrerer Objekte oder Bezugssysteme festlegen.
6.Die relative Position eines oder mehrerer Objekte oder Bezugssysteme festlegen.
7.Die Roboterachsen in die Home-Position bringen.
8.Förderband bewegen.
9.Objekt erstellen.
10.Objekte löschen.
11.Auf ein Objekt warten.

Durch die Kombination der richtigen Simulationsereignisse können Sie mit der Benutzeroberfläche Simulationen für die Materialhandhabung erstellen, ohne Programmierkenntnisse zu benötigen.

Das Simulationsereignis Objekt anbringen ermöglicht es, ein Objekt an ein Werkzeug anzubringen, um eine Greifaktion (Pick) zu simulieren.
Wenn die Aktion zum Anbringen eines Objekts an ein Werkzeug ausgelöst wird, wird das dem ausgewählten Werkzeug am nächsten liegende Objekt angebracht, sofern es sich innerhalb der angegebenen Abstandstoleranz befindet.

Wenn Sie keine Abstandstoleranz angeben, wird der globale Standardwert verwendet (Sie können den globalen Standardwert unter ExtrasOptionenMaximaler Abstand zum Anbringen eines Objekts an ein Roboterwerkzeug ändern). Standardmäßig wird der Abstand vom TCP zur Objektreferenz geprüft. Alternativ können Sie den Abstand zwischen dem TCP und der Objektgeometrie verwenden, indem Sie Kürzesten Abstand zwischen TCP und Objektform prüfen auswählen.
Das Simulationsereignis Objekt lösen ermöglicht es, ein Objekt von einem Werkzeug zu lösen und an einem anderen Objekt oder Koordinatensystem abzulegen.
Sie sollten das Werkzeug auswählen, von dem die Objekte gelöst werden sollen, sowie das Koordinatensystem oder Objekt, an dem sie abgelegt werden sollen.
Das Simulationsereignis Objekt lösen ermöglicht es, einen Ablege-Vorgang (Place/Drop) in einer Pick-and-Place-Anwendung zu simulieren.
Wenn sich der Roboter beispielsweise zu einem bestimmten Ort bewegt, um ein Objekt zu greifen, können Sie ein Ereignis Objekt anbringen an diesem Punkt einrichten. Ebenso können Sie, wenn sich der Roboter zu einem Ort bewegt, an dem das Objekt abgelegt werden soll, ein Ereignis Objekt lösen einrichten.

Das Ereignis Objekte oder Werkzeuge anzeigen ermöglicht es, ein oder mehrere Objekte, Werkzeuge oder Roboter innerhalb der Simulation sichtbar zu machen.
Sie können mehrere Elemente auswählen, indem Sie die Strg-Taste gedrückt halten.

Das Ereignis Objekte oder Werkzeuge verstecken ermöglicht es, ein oder mehrere Objekte oder Werkzeuge innerhalb der Simulation unsichtbar zu machen.
Sie können mehrere Elemente auswählen, indem Sie die Strg-Taste gedrückt halten.

Mit Objektposition festlegen (absolut) können Sie die Position jedes ausgewählten Objekts aktualisieren, sobald diese Aktion ausgelöst wird. Das übergeordnete Element (Parent), an das jedes Element angehängt ist, wird dabei nicht verändert. Es wird nur die Position jedes Objekts aktualisiert.
Sie können mehrere Elemente auswählen, indem Sie die Strg-Taste gedrückt halten. Die aktuelle Position des Elements wird aufgezeichnet, wenn Sie auf OK klicken.

Mit Objektposition festlegen (relativ) können Sie die Position und das übergeordnete Element jedes ausgewählten Objekts aktualisieren, sobald diese Aktion ausgelöst wird. Das übergeordnete Element (Parent), an das jedes Element angehängt ist, wird dabei ebenfalls verändert, und die Position jedes Objekts wird ebenfalls aktualisiert.
Sie können mehrere Elemente auswählen, indem Sie die Strg-Taste gedrückt halten. Die aktuelle Position des Elements und des übergeordneten Elements, an das es angehängt ist, wird aufgezeichnet, wenn Sie auf OK klicken.
Der Unterschied zwischen dieser Anweisung und der Anweisung für die absolute Position besteht darin, dass diese Anweisung auch das übergeordnete Element aktualisiert, an das jedes Objekt angehängt ist.

Das Ereignis Achsen in Home-Position setzen veranlasst den ausgewählten Roboter oder Mechanismus, sich sofort in seine definierte „Home“-Achsposition zu bewegen (die Bewegung wird nicht über die Zeit simuliert).
Dies ist nützlich, wenn Sie eine Simulation zurücksetzen und die Förderbänder in die Startposition bringen müssen.
Sie können mehrere Elemente auswählen, indem Sie die Strg-Taste gedrückt halten.

Das Ereignis Förderband bewegen simuliert die Bewegung des Förderbands um eine bestimmte Distanz und stellt so die Auswirkung der Bewegung über die Zeit dar.
Dies ist nützlich, wenn Sie ein bestimmtes Inkrement simulieren müssen, um ein Objekt auf dem Förderband zu bearbeiten, sobald es sich um eine bestimmte Distanz bewegt hat.

Mit der Anweisung Objekt erstellen können Sie einen Feeder simulieren, indem ein neues Objekt in der Simulationsumgebung erzeugt wird.
Sie sollten das Modellobjekt auswählen, das erstellt werden soll, sowie das übergeordnete Element (Parent), an das die Objekte angehängt werden sollen.
Diese Aktion ist nützlich, um neue Objekte auf einem Förderband zu erstellen.

Die Anweisung Objekte löschen entfernt Objekte aus der Simulationsumgebung.
Sie sollten ein Modellobjekt auswählen, das Sie löschen möchten. Jedes Objekt, das im Namen und in der Geometrie mit diesem Objekt übereinstimmt, wird gelöscht, wenn diese Aktion ausgelöst wird. Das ausgewählte Modellobjekt selbst sowie alle gesperrten Objekte werden nicht entfernt.
Diese Anweisung hilft dabei, eine abgeschlossene Simulation aufzuräumen, in der viele Objekte vorhanden sind, die durch die Anweisung Objekt erstellen erzeugt wurden.

Die Anweisung Auf Objekt warten wartet darauf, dass ein Objekt in Kontakt mit einem anderen Objekt kommt, um eine bestimmte Aktion auszulösen.
Dieses Ereignis ist nützlich, wenn Sie eine Aktion basierend auf dem Kontakt zwischen Objekten auslösen möchten. Es ist üblich, diese Anweisung allein in einem Programm zu platzieren, das in einer Schleife läuft und eine bestimmte Aktion ausführt, sobald ein Objekt in Kontakt mit einem Sensor kommt.

Die Aktionen, die Sie ausführen können, wenn ein Objekt in Kontakt mit dem Sensor ist, sind die folgenden:
1.Roboter anhalten: Sie sollten den Roboter oder Mechanismus auswählen, der anhalten soll.
2.Objekt löschen: Das Objekt wird aus der Station entfernt.
3.Nur auf das Objekt warten (zum Beispiel können Sie damit einen Roboter auslösen, ein Objekt zu greifen).
4.Ein Objekt in ein anderes Koordinatensystem verschieben. Zum Beispiel, um ein Objekt von einem Förderband an ein anderes zu übergeben.
