Die Software RoboDK ist ein Simulator für industrielle Roboteranwendungen. Dies bedeutet, dass Roboterprogramme für einen bestimmten Roboterarm und eine Robotersteuerung offline erstellt, simuliert und generiert werden können. Mit anderen Worten, RoboDK ist eine Software für Offline-Programmierung.
Um Roboterprogramme zu erstellen, ist es erforderlich, einen Roboter auszuwählen und die Roboterwerkzeuge zu laden. Darüber hinaus können CAD Daten in Werkzeugbahnen umgewandelt werden, um durch Hinzufügen von Zielen oder durch Verwendung bestimmter Softwaretools (wie z.B. das Konvertieren von CNC-Programmen in Roboterprogramme) Programme zu erstellen.
Eine umfangreiche Bibliothek mit Industrierobotern steht zur Verfügung. Die Industrieroboter werden in RoboDK genauso modelliert, wie sie sich mit herstellerspezifischen Steuerungen verhalten, einschließlich Achsgrenzen, Bewegungssinn und Achsverknüpfungen.
Dieser Abschnitt zeigt, wie Roboterprogramme mithilfe des RoboDK Graphical User Interface (GUI) für eine bestimmte Robotersteuerung erstellt, simuliert und generiert werden können.
Unter Offline-Programmierung (oder Offline-Programmierung) versteht man, dass Roboter außerhalb der Produktionsumgebung programmiert werden. Die Offline-Programmierung eliminiert Produktionsausfallzeiten, die durch die Programmierung in der Werkstatt verursacht werden (Programmierung mit dem Programmierhandgerät). Simulation und Offline-Programmierung ermöglichen des Weiteren, das Überprüfen mehrerer Szenarien in einer Arbeitszelle vor dem Einrichten dieser. Fehler, die häufig beim Entwurf einer Arbeitszelle auftreten, können gleichzeitig rechtzeitig vorhergesagt werden.
Die Offline-Programmierung ist der beste Weg, den Return on Investment für Robotersysteme zu maximieren, und erfordert entsprechende Simulationswerkzeuge. Die Zeit für die Einführung neuer Programme kann von Wochen auf einen Tag verkürzt werden, was die Automatisierung von Kleinauflagen ermöglicht.
Eine Simulation kann durch Hinzufügen einer Befehlsfolge in einem Programm erstellt werden. Jede Anweisung stellt einen spezifischen Code für einen bestimmten Controller dar. RoboDK bietet eine grafische Benutzeroberfläche (Graphical User Interface, GUI), mit der sich Roboterprogramme auf einfache Weise erstellen lassen, ohne dafür Code schreiben zu müssen. Der für eine Robotersteuerung spezifische Code wird automatisch generiert, wenn das Programm generiert wird.
So erstellen Sie ein neues leeres Programm mit der grafischen Benutzeroberfläche von RoboDK:
1.Wählen Sie Programm➔ Programm hinzufügen
Alternativ können Sie die entsprechende Schaltfläche in der Symbolleiste verwenden.
2.Wählen Sie Extras➔Element umbenennen… (F2) um das Programm umzubenennen
Diese Aktion erstellt ein leeres Programm und ermöglicht das Hinzufügen neuer Anweisungen, indem Sie mit der rechten Maustaste auf das Programm klicken oder eine Anweisung aus dem Programmenü auswählen. Der nächste Abschnitt Programmanweisungen enthält weitere Informationen zum Hinzufügen von Anweisungen.
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➔PTP Bewegung, um eine neue PTP (Punkt zu Punkt) Bewegung hinzuzufügen. Alternativ wählen Sie die entsprechende Schaltfläche in der Symbolleiste.
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 Bezugssystemsund 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➔Linearbewegung, um eine neue Linearbewegungsanweisung hinzuzufügen. Alternativ wählen Sie die entsprechende Schaltfläche in der Symbolleiste.
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 Bezugssystemsund 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➔ Bezugssystem festlegen, um einen bestimmtes Bezugssystem zu verwenden. Dadurch wird das auf dem Controller angegebene System für die folgenden Bewegungsbefehle aktualisiert und das aktive System des Roboters in RoboDK für Simulationszwecke geändert. Das bedeutet, dass Bewegungsanweisungen für bestimmte Ziele (kartesische Ziele) in Bezug auf das letzte Bezugssystem erstellt werden.
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➔Werkzeug Bezugssystem festlegen, um ein bestimmtes Werkzeug (TCP) Bezugssystem zu verwenden. Dies aktualisiert die Werkzeug Referenz im Programm für die folgenden Bewegungsbefehle und ändert das aktive Werkzeug Bezugssystem des Roboters in RoboDK für Simulationszwecke. Das bedeutet, dass Bewegungsanweisungen für bestimmte Ziele (kartesische Ziele) in Bezug auf das letzte Bezugssystem erstellt werden.
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➔ Kreisförmige Bewegung, um eine neue Kreisbewegungsanweisung hinzuzufügen. Alternativ wählen Sie die entsprechende Schaltfläche in der Symbolleiste.
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➔ Geschwindigkeit festlegen, um eine neue Anweisung hinzuzufügen, die die Geschwindigkeit und/oder die Beschleunigung ändert. Es ist möglich, Geschwindigkeit und Beschleunigung im achsspezifischen und im kartesischen Raum festzulegen.
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➔ Nachricht anzeigen um eine neue Anweisung hinzuzufügen, die eine Nachricht auf dem Handprogrammiergerät ausgibt.
Wählen Sie Programm➔ Pause Instruction um einen neuen Befehl hinzuzufügen, der die Programmausführung für einige Zeit pausiert oder das Programm stoppt, bis der Bediener das Programm fortsetzen möchte.
Wählen Sie Programm➔ Programm Aufruf, um einen Aufruf eines Unterprogramms aus dem aktuellen Programm hinzuzufügen.
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➔ I/O festlegen oder abwarten, um den Status der digitalen Ausgänge (DO) zu ändern. Standardmäßig ist diese Anweisung auf Digitalen Ausgang festlegen festgelegt. Diese Anweisung ermöglicht es auch, auf einen bestimmten digitalen Eingang (DI) zu warten, um in einen bestimmten Zustand zu wechseln.
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➔ Überschleifen festlegen, um die Überschleifparameter zu ändern. Das Überschleifen wird verwendet um die Kanten zwischen aufeinanderfolgenden Bewegungen glätten zu können. Diese Änderung wird ab dem Zeitpunkt wirksam, ab dem sie in einem Programm ausgeführt wird (dies gilt auch für alle anderen Anweisungen). Daher ist es üblich, diesen Wert am Anfang eines Programms festzulegen.
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.
Wählen Sie Programm➔ Simulationsereignis, um ein bestimmtes Simulationsereignis zu provozieren. Simulationsereignisse haben keinen Einfluss auf generierten Code und werden nur verwendet, um ein bestimmtes Ereignis für Simulationszwecke, also eine optische Ausgabe, zu ermöglichen. Simulationsereignisse mit der grafischen Benutzeroberfläche ermöglichen es:
●Werkzeuge anzubringen/zu lösen
●Objekte/Werkzeuge anzuzeigen oder zu verstecken
●Die Position von Objekten und Bezugssystem zu ändern
Wenn sich der Roboter beispielsweise an einen bestimmten Ort bewegt, um ein Objekt zu greifen, können wir ein Ereignis Objekt anheften einrichten, um dieses Objekt zusammen mit dem Roboter zu bewegen. Anschließend können wir ein Ereignis Objekt lösen verwenden, um alle Objekte abzulösen, die das Werkzeug gegriffen hat
Doppelklicken Sie auf ein Programm um die Simulation zu starten. Alternativ:
1.Rechtsklick auf das Programm
2.Wählen Sie Ausführen
Eine Simulationsleiste erscheint am unteren Rand des Bildschirms, wenn auf ein Programm ein Doppelklick ausgeführt wird. Durch Bewegen dieser Leiste kann man die Simulation vor- und zurückspulen.
RoboDK simuliert standardmäßig 5-mal schneller als Echtzeit. Das heißt, wenn ein Programm 30 Sekunden benötigt, wird es in 30/5 = 6 Sekunden simuliert. Durch Beschleunigung der Simulation wird dieses Verhältnis auf 100 erhöht. Die normalen und schnellen Simulationsgeschwindigkeiten können im Menü Extras➔Optionen➔Bewegungsmenü geändert werden.
Folgen Sie diesen Schritten, um ein Roboterprogramm, welches vom Roboter Controller (markenabhängig) benötigt wird, zu erstellen
1.Wählen Sie Programm
2.Wählen Sie Programm➔Programm(e) erstellen (F6)
Alternativ können Sie auf ein Programm rechtsklicken und Roboterprogramm erstellen (F6) verwenden.
Es können mehrere Programme ausgewählt werden, um mehr als ein Programm gleichzeitig zu erstellen. Halten Sie die Strg – Taste gedrückt um mehrere Programme auszuwählen. Wählen Sie Programm(e) erstellen… (Strg+F6) und es wir dein Fenster geöffnet, welches den Benutzer nach einem Speicherort für das Programm frägt.
Es ist möglich ein Programm direkt vom Computer auf den Roboter zu übertragen. Dabei wird das Programm mittels eines FTP Protokolls, oder eines anderen spezifischen Protokolls, an den Roboter gesendet. Dafür ist es zunächst nötig die Roboter IP und FTP Einstellungen im Roboter Verbindungsmenü vorzunehmen:
1.Rechtsklick auf den Roboter
2.Wählen Sie Mit Roboter verbinden… Es öffnet sich ein Fenster auf der linken Seite.
3.Geben Sie die Roboter IP ein
4.Wählen Sie Weitere Optionen, um die FTP Einstellungen und (falls benötigt) Zugangsdaten einzugeben.
Sobald die Netzwerkeinstellungen zur Verfügung gestellt wurden und der Roboter fehlerfrei verbunden wurde, können Sie diesen Schritten folgen um ein Programm direkt aus RoboDK zu übertragen:
1.Rechtsklick auf ein Programm
2.Wählen Sie Programm an Roboter senden(Strg+F6)
Ein Popup Fenster zeigt den Status über (Miss)Erfolg an.
Die Umwandlung einer RoboDK Simulation in ein spezifisches Roboterprogramm geschieht mit Hilfe eines Postprozessors. Der Postprozessor definiert, wie Roboterprogramme für einen bestimmten Roboter erstellt werden müssen. Jeder Roboter hat daher in RoboDK einen bestimmten/standardmäßigen Postprozessor.
Gehen Sie wie folgt vor, um einen Postprozessor für einen Roboter auszuwählen:
1.Rechtsklick auf einen Roboter oder ein Programm
2.Verwenden Sie Postprozessor auswählen
3.Wählen Sie einen Postprozessor aus der Liste aus
4.Wählen Sie OK
Die Veränderung wurde durchgeführt und das Programm kann erneut erstellt werden, um das Resultat zu sehen.
Postprozessoren in RoboDK erlauben es Roboterprogramme komplett flexibel für bestimmte Anforderungsbereiche zu erstellen. RoboDK stellt Postprozessoren für die meisten Robotermarken zur Verfügung. Postprozessoren können einfach erstellt oder bearbeitet werden. Weiterführende Informationen über Postprozessoren finden Sie im Abschnitt Postprozessoren.