Programm Seite#
Klicken Sie auf die Navigationsleiste „Programm“, um die Programmseite aufzurufen. Auf der Programmseite können Sie die Programmliste verwalten, das Programm bearbeiten und das Programm ausführen.
Programmliste Seite#
Die Listenseite dient zur Verwaltung aller Programme im derzeit aktiven Projekt. Die Abbildung zeigt die Programmlistenseite mit allen Programmen und Ordnern unter dem Programmstammverzeichnis.

Wählen Sie den Ordner aus und klicken Sie auf die Schaltfläche auf der rechten Seite Schaltfläche, klicken Sie auf „Programm eingeben“, Sie können zum Dateiverzeichnis wechseln, alle Programme und Ordner unter dem Ordner anzeigen.
Wählen Sie das Programm aus, der rechte Bereich „Programmvorschau“ kann den Programminhalt anzeigen, klicken Sie auf „Programm eingeben“, um das Programm zu öffnen.
Das aktuelle Verzeichnis wird in der oberen linken Ecke angezeigt, wie in der Abbildung dargestellt. Klicken Sie auf die Schaltfläche „Zurück zum übergeordneten Verzeichnis“, um zum übergeordneten Verzeichnis zurückzukehren, klicken Sie auf den Pfad, um das Verzeichnis zu wechseln, und klicken Sie auf , um zum Stammverzeichnis zu wechseln.

Neues Programm#
Klicken Sie auf die Schaltfläche „Neues Programm“, um die Tastatur aufzurufen, geben Sie den Programmnamen ein und klicken Sie auf die Schaltfläche „OK“, um ein Programm im aktuellen Ordner zu erstellen.

Neue Mappe#
Klicken Sie auf die Schaltfläche „Neuer Ordner“, um die Tastatur aufzurufen, geben Sie den Ordnernamen ein und klicken Sie auf die Schaltfläche „OK“, um einen Ordner unter dem aktuellen Ordner zu erstellen.
Programmdatei Aktion#
Klicken Sie auf die Schaltfläche rechts neben dem Listenelement, um das unten gezeigte Menüfeld aufzurufen:

Für Programmdateien kann der Benutzer Folgendes tun:
Einstieg in das Programm
Klicken Sie auf , um das Programm zu öffnen.
Kopie
Klicken Sie auf die Schaltfläche „Kopieren“, um die Programmdatei zu kopieren. Die Programmlistenseite sieht wie folgt aus. Jetzt kann der Benutzer den Speicherort für das Einfügen auswählen, auf die Schaltfläche „Einfügen“ klicken, um das Programm in den aktuellen Ordner zu kopieren, und auf die Schaltfläche „Abbrechen“ klicken, um den Kopiervorgang abzubrechen. Wenn sich im aktuellen Ordner Dateien mit demselben Namen befinden, wird das Suffix _copyXX automatisch an das Ende angehängt.


Rename
- Klicken Sie auf die Schaltfläche „Umbenennen“, die Tastatur wird eingeblendet, geben Sie einen neuen Namen ein und bestätigen Sie, dass er geändert werden kann.
Hinweis: Programme, die bereits geöffnet sind oder laufen, können nicht umbenannt werden.

Löschen
Klicken Sie auf die Schaltfläche „Löschen“, und bestätigen Sie das Löschen des Programms in einem Dialogfeld.
Hinweis: Programme, die bereits geöffnet sind oder laufen, können nicht gelöscht werden.
Export
Die Programmdatei kann auf die U-Diskette exportiert werden, siehe Programmimport und -export.
Speichern auf Lokal
Die Programmdatei kann über den Browser auf den lokalen Rechner heruntergeladen werden.
Ordner Aktionen#
- Klicken Sie auf die Schaltfläche rechts neben dem Ordnerelement
Schaltfläche, das Pop-up-Menü kann die folgenden Operationen durchführen: das Programm eingeben, umbenennen, Ordner exportieren, löschen
.
Einstieg in das Programm
Klicken Sie auf , um zu diesem Ordner zu wechseln und alle Programme und Unterordner unter diesem Ordner anzuzeigen.
Rename
Ordner können umbenannt werden. Hinweis: Wenn sich in diesem Ordner geöffnete oder laufende Programme befinden, ist die Umbenennungsfunktion nicht möglich.
Ordner exportieren
Der gesamte Programmordner kann in ein komprimiertes Paket komprimiert werden, das auf die U-Diskette exportiert wird.
Löschen
Der Benutzer kann den gesamten Inhalt des Ordners löschen. Wenn sich in diesem Ordner offene oder laufende Programme befinden, ist die Löschfunktion untersagt.
Programm Import und Export#
Der Benutzer kann Programme und Ordner von externen Geräten auf externe Geräte importieren oder exportieren. Externe Geräte sind Speichermedien, die an den USB-Anschluss des Schaltschranks angeschlossen werden, wie z. B. USB-Flash-Laufwerke und mobile Festplatten.
Programm/Ordner-Import
Klicken Sie auf die Schaltfläche „Importieren“. Daraufhin wird das folgende Fenster geöffnet, in dem die am aktuellen Schaltschrank angeschlossenen USB-Speichergeräte angezeigt werden, und wählen Sie ein Gerät aus.

Ordner im Gerät und in Frage kommende Dateien (jspf, Skript oder Programm) werden auf der Seite angezeigt. Wählen Sie eine Datei aus und klicken Sie auf Auswählen, um die Datei oder das komprimierte Dateipaket (Programm) zu dekomprimieren und in den Schaltschrank zu importieren. Wenn beim Importieren einer Datei der Dateiname mit der Programmdatei auf dem Schaltschrank übereinstimmt, wird eine Aufforderung zum Umbenennen angezeigt und die Datei wird nach dem Umbenennen in den Schaltschrank importiert.


Wenn eine Datei mit demselben Namen vorhanden ist, wenn der Benutzer einen Ordner (ein Programm) importiert, zeigt das System die Anzahl der Dateien mit demselben Namen an. Der Benutzer kann auf „Abbrechen“ oder „Überschreiben“ klicken.

Programm-/Ordnerexport
Wählen Sie ein Programm auf der Programmlistenseite aus und wählen Sie die Schaltfläche „Exportieren“ im interaktiven Menü, um den Exportvorgang durchzuführen. Ähnlich wie beim Importieren werden in einem Pop-up-Fenster die am aktuellen Schaltschrank angeschlossenen USB-Speichergeräte angezeigt. Nach der Auswahl eines Geräts kann der Benutzer die Dateien und Ordner des Geräts anzeigen, einen Ordner für den Export auswählen und das Programm in den Ordner des Geräts exportieren. Wenn die exportierte Programmdatei denselben Namen hat wie die Datei im Gerät, wird das folgende Fenster angezeigt. Der Benutzer kann den Export abbrechen, den Exportnamen ändern und die Datei erneut exportieren, oder die Datei im Gerät direkt überschreiben. Wenn ein Ordner ausgewählt wird, benennt das System den Ordner, packt den Ordner und komprimiert ihn in das Programm Ordnername. Das komprimierte Paket enthält den Ordner dieser Ebene.

Klicken Sie auf die Schaltfläche „Exportieren“ am oberen Rand der Programmlistenseite, um alle Dateien und Ordner im aktuellen Verzeichnis in ein komprimiertes Paket mit dem Namen „Name der aktuellen Programmliste“ zu packen und das Paket in den angegebenen Pfad auf dem externen Gerät zu exportieren. Das komprimierte Paket enthält diesen Ebenenordner nicht. Ähnlich wie beim Exportprogramm wird das Eingabeaufforderungsfeld mit demselben Namen abgespielt, wenn eine Datei mit demselben Namen vorhanden ist.
Programmierung#
Allgemeines Layout#
Nach dem Erstellen eines neuen Programms oder dem Öffnen eines Programms auf der Programmlistenseite kann der Benutzer die Programmierseite aufrufen, wie in der folgenden Abbildung dargestellt.
Die linke Seite der Programmierseite ist der Programmierbereich, in dem der Programmbaum bearbeitet werden kann. Die rechte Seite kann in fünf Abschnitte unterteilt werden: die Registerkarte „Befehle“ ist der Bereich der Funktionsblockliste, in dem die verfügbaren grafischen Programmierfunktionsblöcke angezeigt werden; die Registerkarte „Programmvariablen“ ist der Bereich der Programmvariablen, in dem der Benutzer Programmvariablen erstellen, während des laufenden Programms überwachen und die Namen der Programmvariablen alphabetisch sortieren sowie auswählen kann, ob sie überwacht werden sollen oder nicht; die Registerkarte „Systemvariablen“ zeigt die Anfangswerte der Systemvariablen an und gibt an, ob sie überwacht werden sollen oder nicht. Die Registerkarte „Programmvariablen“ ist der Bereich für Programmvariablen, in dem Sie Programmvariablen erstellen, Programmvariablen während der Programmausführung überwachen, die Namen der Programmvariablen alphabetisch sortieren und auswählen können, ob die Variablen überwacht werden sollen oder nicht; Die Registerkarte „Systemvariablen“ ist der Bereich, in dem der Benutzer die Anfangswerte der Systemvariablen anzeigen und die aktuellen Werte der Systemvariablen bei laufendem Programm überwachen sowie die Namen der Systemvariablen alphabetisch sortieren kann; die Registerkarte „Parameter“ ist der Bereich der Parameterkonfiguration, in dem der Benutzer die Parameter der ausgewählten Funktionsblöcke im Programmbaum anzeigen und bearbeiten kann; die Registerkarte „Simulation“ zeigt das 3D-Modell des Roboters.
Klicken Sie daher auf die rechte Seite einer beliebigen Art von Funktionsblock im Listenbereich von ‚Move‘, ‚Basic‘, ‚Flow control‘, ‚Communication‘, ‚Advanced‘, ‚Extension‘ in der ‚Instruction‘.Das Symbol kann das Betriebsdialogfeld öffnen, klicken Sie auf die Schaltfläche ‚Add to Common‘ im Betriebsdialogfeld, der Benutzer kann den Anweisungsblock zur ‚Common‘-Klasse hinzufügen; Klicken Sie auf das rechte Symbol
des Funktionsblocks im Listenbereich ‚Common class Feature Block‘ öffnet ebenfalls das Betriebsdialogfeld, klicken Sie auf die Schaltfläche ‚Remove‘ im Betriebsdialogfeld, der Benutzer kann den Befehlsblock aus der ‚Commonly used‘-Klasse entfernen.

Der Name des aktuellen Programms wird oben links angezeigt, und das * hinter dem Programmnamen bedeutet, dass das Programm geändert wurde. Klicken Sie auf einen beliebigen Bereich des Anzeigefeldes, in dem sich der Programmname befindet. Unterhalb des Anzeigefeldes erscheint ein Dropdown-Feld, in dem die Liste der geöffneten Programme angezeigt wird.

Wie in der obigen Abbildung zu sehen ist, zeigt die Liste der geöffneten Programme, dass im aktuellen System zwei Programme geöffnet sind. Klicken Sie auf die Schaltfläche im Dropdown-Feld rechts neben dem Namen , um das Programm zu schließen; klicken Sie auf die Dropdown-Liste, um zum entsprechenden Programm zu wechseln.
Wenn der Benutzer das Programm schließt, erscheint bei Änderungen ein Dialogfeld, in dem der Benutzer aufgefordert wird, das Programm zu speichern oder die Änderung zu verwerfen.
Programmierung von Aktionen#
Die Programmierung erfolgt durch Ziehen und Ablegen sowie durch Hinzufügen per Doppelklick.
Methode Ziehen: Der Benutzer kann den Funktionsblock im Bereich der Funktionsblockliste gedrückt halten und ihn in den Programmierbereich ziehen. An der entsprechenden Stelle des Programmbaums wird eine blaue horizontale Linie angezeigt, die darauf hinweist, dass der Funktionsblock dort eingefügt wird. Beim Lösen wird ein Funktionsblock dort eingefügt. Wird beim Ziehen eines Funktionsblocks an die entsprechende Stelle im Programmbaum eine rote Linie angezeigt, kann der Funktionsblock dort nicht eingefügt werden. Nach dem Loslassen des Funktionsblocks wird ein Dialogfenster angezeigt.
Doppelklicken Sie auf Hinzufügen: Klicken Sie auf einen beliebigen Funktionsblock im Programmbaum, um den Funktionsblock auszuwählen. Wenn Sie jetzt auf den Funktionsblock im Listenbereich doppelklicken, wird der Funktionsblock im Listenbereich zum Programmbaum unterhalb des ausgewählten Funktionsblocks hinzugefügt. (Hinweis: Doppelklick wird auf mobilen Geräten nicht unterstützt),
Unterstützt das direkte Ziehen von Funktionsblöcken im Programmbaum an andere Stellen.
Wählen Sie einen Funktionsblock aus, wechseln Sie manuell in den Bereich der Parameterkonfiguration und stellen Sie die Parameter des Funktionsblocks ein. Einzelheiten zu jedem Funktionsblock und der entsprechenden Parameterkonfigurationsseite finden Sie im Folgenden.

Der Funktionsblock im Programmbaum hat die folgenden fünf Zustände. Rot bedeutet, dass der Funktionsblock nicht mit gültigen Parametern konfiguriert ist; * in Kursivschrift bedeutet, dass die Parameter des Funktionsblocks geändert wurden, aber nicht im Programmbaum gespeichert sind; Der schwarze Körper bedeutet, dass die Parameter des Funktionsblocks gültig und unverändert sind. Der graue Teil des Funktionsblocks zeigt an, dass der Zustand zum Ziehen und Ablegen ausgewählt ist. Wenn alle Funktionsblöcke grau sind, ist der Funktionsblock deaktiviert.

Klicken Sie auf das rechte Symbol des Programmbaum-Funktionsblocks, und das Dialogfeld enthält folgende Operationen

Ausschneiden: Schneiden Sie den Funktionsblock aus.
Kopieren: Kopiert den Funktionsblock.
Einfügen: Der Benutzer kann den kopierten Funktionsblock am Ende des ausgewählten Funktionsblocks einfügen.
Deaktivieren/Aktivieren: Klicken Sie auf , um auszuwählen, ob der Funktionsblock aktiviert werden soll, wählen Sie deaktivieren, wird der Funktionsblock grau, das Programm wird den Funktionsblock nicht ausführen.
Stapelverarbeitung: Funktionsblöcke können in Stapeln kopiert, ausgeschnitten, gelöscht, deaktiviert, aktiviert und zu Gruppen zusammengefasst werden. Wenn der Benutzer einen Funktionsblock für den Batchbetrieb auswählt, wird das Symbol innerhalb der Zeilennummer des Funktionsblocks angezeigt.
Wenn das ausgewählte Symbol neben der Zeilennummer eines Funktionsblocks der gleichen Ebene wie der Funktionsblock angezeigt wird, werden automatisch alle Funktionsblöcke zwischen dem Funktionsblock und dem ursprünglichen Funktionsblock ausgewählt. Darüber hinaus können nur Funktionsblöcke der gleichen Ebene ausgewählt werden. Funktionsblöcke, die die übergeordnete Ebene überschreiten, können nicht ausgewählt werden.

Stapelweise kopieren: Kopieren ausgewählter Blöcke und Einfügen an der ausgewählten Position
Stapelweise ausschneiden: Ausgewählte Blöcke ausschneiden und an der ausgewählten Position einfügen
Stapelaktivierung: Aktiviert alle ausgewählten Blöcke
Batch Deaktivieren: Alle ausgewählten Blöcke deaktivieren
Stapelweise löschen: Alle ausgewählten Blöcke löschen
Gruppe erstellen: Erstellen Sie die ausgewählten Funktionsblöcke als Gruppe: Wenn alle ausgewählten Blöcke Verschiebeblöcke sind, wird ein neuer Verschiebeblock erstellt, und die Parameter sind die gleichen wie beim ursprünglichen Verschiebeblock; ansonsten wird ein Gruppenblock erstellt.


Löschen: Dieser Funktionsblock kann gelöscht werden.
Wählen Sie die Startlinie für dieses Verhalten: Klicken Sie auf , um diesen Funktionsblock als Startzeile der Operation auszuwählen. Zu diesem Zeitpunkt wird ein Symbol vor dem Funktionsblock angezeigt und das Programm wird vom Funktionsblock abwärts ausgeführt. Klicken Sie auf die Schaltfläche „Zeile abwählen“ oben rechts, um die Einstellung der Startzeile aufzuheben.
Während der Programmbearbeitung kann der Benutzer jederzeit über das Symbol oben links auf der Seite und
Änderungen rückgängig machen oder wiederherstellen. Hinweis: Rückgängig gemachte Änderungen können bis zu 10 Mal rückgängig gemacht werden.
Sobald sich der Programmbaum geändert hat, wird der Name des aktuellen Programms nach dem * angezeigt, um darauf hinzuweisen, dass sich das Programm geändert hat. Zu diesem Zeitpunkt kann der Benutzer über das Symbol oben links auf der Seite das Programm in der Steuerung speichern.
Funktionsblock- und Parameterkonfiguration#
Im Bereich der Funktionsblockliste werden die aktuell verfügbaren Funktionsblöcke für die grafische Programmierung angezeigt, die nach den in der Roboterprogrammierung üblichen Szenarien zusammengestellt sind. Die von diesem System bereitgestellten Funktionsblöcke und ihre Konfigurationsparameter sind wie folgt.
Start Funktionsblock#
Die Anfangsposition der Robotergelenke des Programms. Wenn ein Programm mit einem aktivierten Start-Funktionsblock startet, wird nach dem Programmstart eine Überprüfung zwischen der aktuellen Robotergelenkposition und der anfänglichen Robotergelenkposition des Programms durchgeführt. Andernfalls würde das Programm automatisch starten, wenn der Funktionsblock Start deaktiviert ist.
Es ist immer sehr empfehlenswert, dass jedes Hauptprogramm mit einem aktivierten Start-Funktionsblock beginnt. Das als Unterprogramm ausgeführte Programm darf in einigen Fällen den Start-Funktionsblock deaktivieren.

Funktionsblock verschieben#
Wenn beim Ziehen von Funktionsblöcken wie MoveJ, MoveL usw. kein Move-Knoten vorhanden ist, wird automatisch ein Move-Funktionsblock erstellt, der die folgenden Parameter enthält:
Endgeschwindigkeit: Einheit mm/s, der Wertebereich ist [0,01, 5000].
Endbeschleunigung: Einheit mm/s^2, der Wertebereich ist [0,01, Unendlich].
Gelenk-Winkelgeschwindigkeit: Einheit °/s, Der Wertebereich ist [0,01, 225].
Gemeinsame Winkelbeschleunigung: Einheit °/s^2, Der Wertebereich ist [0,01, Unendlich].
Überblendungsradius: Einheit mm, der Wert reicht von 0 bis unendlich.
Referenzkoordinatensystem: Werkzeugkoordinatensystem, Werkstückkoordinatensystem, kann manuell geändert werden.
Unter ihnen können die Endgeschwindigkeit, die Endbeschleunigung, die Gelenkwinkelgeschwindigkeit und die Gelenkwinkelbeschleunigung verwendet werden, um die Art der direkten Eingabe der Werte oder der Auswahl der Variablen anzupassen, während die Endbeschleunigung und die Gelenkwinkelbeschleunigung auch als Systemstandard ausgewählt werden können. Wenn die Endbeschleunigung oder die Gelenkwinkelbeschleunigung als Systemvorgabe ausgewählt wird, verwendet die Bewegungsplanung die vom Algorithmus berechnete optimale Planung. Hinweis: Die Einheit des entsprechenden Parameters wird nur angezeigt, wenn „Anpassen“ ausgewählt ist; bei der Auswahl von Variablen können nur bestimmte Variablentypen ausgewählt werden, die Endgeschwindigkeit kann nur als Variable des Typs pose_speed ausgewählt werden, die Endbeschleunigung kann nur als Variable des Typs pose_acc ausgewählt werden, die Gelenkwinkelgeschwindigkeit kann nur als Variable des Typs joint_speed ausgewählt werden und die Gelenkwinkelbeschleunigung kann nur als Variable des Typs system default ausgewählt werden, die Variable und die Gelenkwinkelbeschleunigung können nur als Variable des Typs joint_acc ausgewählt werden.
Bei der Generierung des Funktionsblocks Bewegen wird standardmäßig abgefragt, ob alle übergeordneten Knoten von Bewegen das Referenzkoordinatensystem festgelegt haben; wenn nicht, wird das aktuelle, vom System festgelegte Koordinatensystem verwendet. Wenn dies nicht der Fall ist, wird das aktuelle, vom System festgelegte Koordinatensystem verwendet. Wenn Sie also den Funktionsblock der Klasse Move auf den untergeordneten Knoten Conveyor ziehen, verwendet der generierte Move-Funktionsblock standardmäßig das Conveyor-Koordinatensystem.
Die im Move-Block eingestellten kartesischen Bewegungsparameter gelten nur für die Funktionsblöcke MoveL, MoveC, MoveTCP, MoveWobj und MoveSpiral und haben keinen Einfluss auf andere Unterfunktionsblöcke. Die eingestellten Parameter für die Gelenkbewegung gelten nur für den Funktionsblock MoveJ und haben keinen Einfluss auf andere Unterfunktionsblöcke.
Das Referenzkoordinatensystem, das durch den Funktionsblock Move gesetzt wird, gilt nur für die Funktionsblöcke MoveJ, MoveL, MoveC, MoveTCP, MoveWobj und MoveSpiral und hat keinen Einfluss auf andere Funktionsblöcke.

Spezifische Funktionsblöcke, die die Roboterbewegung steuern, gehören zu den folgenden Typen:
MoveJ
Der Roboter bewegt sich in der Art einer Gelenkbewegung und kann wählen, ob er sich zum Zielgelenk oder zur Zielhaltung bewegt. Verfügbare Parameter:
Ziel-Gelenke: Verwenden Sie die Position der Robotergelenke als Zielposition für die Bewegung. Die Zielposition der Gelenke kann durch direktes Einlernen oder durch die Verwendung der Variablen vom Typ Gelenke bestimmt werden. Sie kann manuell geändert werden, nachdem die Position der Zielgelenke direkt eingelernt wurde.
Ziel-Position: Die Position des Endeffektors des Roboters wird als Zielposition für die Bewegung verwendet. Die Zielposition kann durch direktes Einlernen oder durch die Verwendung der Variablen vom Typ Pose bestimmt werden. Sie kann nach dem direkten Einlernen der Zielposition des Endeffektors manuell geändert werden.
Anlernen: Teachen Sie die Zielposition der Roboterbewegung. Nachdem Sie auf die Schaltfläche „Teach“ geklickt haben, wechselt die Benutzeroberfläche automatisch zur Seite „Move“. Nachdem Sie den Roboter in die Zielposition bewegt haben, klicken Sie auf die Schaltfläche „Pose aufnehmen“. Die Benutzeroberfläche wechselt zur Programmseite und die Zielposition des Roboters ist bereits aufgezeichnet.
Aufzeichnen: Zeichnet die aktuelle Roboterposition als Zielposition der Roboterbewegung für den aktuellen Funktionsblock auf.
Hierher fahren: Bewegen Sie den Roboter zu der zuletzt aufgezeichneten Position der Roboterzielbewegung. Nachdem Sie auf die Schaltfläche geklickt haben, wird das 3D-Simulationsmodell automatisch angezeigt. Wenn Sie die Schaltfläche „Bewegen“ am unteren Rand des 3D-Simulationsmodells gedrückt halten, bewegt sich der Roboter zu der aufgezeichneten Zielposition der Roboterbewegung.
Bemerkung
Achtung! Wenn die Zielposition des Funktionsblocks als Zielposition für die Roboterbewegung verwendet wird und der Roboter dann mit „Move to here“ zur Zielposition bewegt wird, kann die endgültige Position der Robotergelenke bei gleicher Roboter-Endeffektor-Position unterschiedlich sein, wenn die Startposition der Bewegung unterschiedlich ist. Mit Hilfe des 3D-Simulationsmodells und seines Schattenmodells kann überprüft werden, ob die endgültige Position der Robotergelenke mit der während des Trainings aufgezeichneten Position übereinstimmt.
Bemerkung
Achtung! Wenn der Funktionsblock die Zielposition des Roboters als Zielposition verwendet und die kinematische Lösung der aktuellen Robotergelenkposition während des Programmablaufs von der aufgezeichneten Zielposition des Robotergelenks abweicht, wird eine Fehlermeldung ausgegeben, um diesen anormalen Zustand anzuzeigen.
Koordinatensystem des übergeordneten Knotens verwenden: Dieser Parameter kann gesetzt werden, wenn die Zielpositionshaltung ausgewählt ist. Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das Referenzkoordinatensystem, das durch den übergeordneten Funktionsblock „Knoten bewegen“ festgelegt wurde.
Referenz-Koordinatensystem: Dies kann eingestellt werden, wenn die Zielpositionshaltung ausgewählt ist. Wenn das übergeordnete Koordinatensystem nicht angekreuzt ist, kann sein Bezugskoordinatensystem separat für den Funktionsblock festgelegt werden.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option ausgewählt ist, verwendet der Funktionsblock die Parameter für die Gelenkwinkelgeschwindigkeit und die Gelenkwinkelbeschleunigung, die vom übergeordneten Knoten Funktionsblock verschieben festgelegt wurden. Wenn dieser Parameter nicht ausgewählt ist, muss der Benutzer die Gelenkwinkelgeschwindigkeit und die Gelenkwinkelbeschleunigung für diesen Funktionsblock selbst festlegen. Dieser Parameter ist standardmäßig ausgewählt.
Gelenk-Winkelgeschwindigkeit: Einheit °/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 225].
Gemeinsame Winkelbeschleunigung: Einheit °/s2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Überlagerungsradius des übergeordneten Knotens: Wenn dieser Parameter ausgewählt ist, wird der Überblendungsradius des übergeordneten Funktionsblocks Knoten verschieben verwendet. Wenn dieser Parameter nicht ausgewählt ist, müssen Sie den Überblendungsradius für diesen Funktionsblock festlegen. Dieser Parameter ist standardmäßig aktiviert.
Überblendungsradius: Die Einheit mm, der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
Bemerkung
Achtung! Ein Überblendungsradius mit einem ungeeigneten Wert würde zu Vibrationen während der Überblendungsbewegung führen. Es wird empfohlen, den Überblendungsradius je nach Einzelfall anzupassen.
Bemerkung
Achtung! Der Überblendungsradius mit kleinem Wert kann zu einem Fehlschlag der Überblendungsbewegung führen. In diesen Fällen wird empfohlen, mit dem MotionConfig-Funktionsblock die „Blend Preload“ an die Option „Motion start point“ anzupassen, wenn kein logisches Problem auftritt. Wenn die Überblendbewegung immer noch fehlschlägt, ist eine Verringerung der Bewegungsgeschwindigkeit oder eine Anpassung des Zielpunkts, um sicherzustellen, dass die Ursprungsbewegungszeit des Funktionsblocks nicht weniger als 100 ms beträgt, eine mögliche Methode, um die Überblendbewegung erfolgreich durchzuführen.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.

Wenn OP aktiviert ist, muss der Benutzer die folgenden Konfigurationen vornehmen:
Sie kann nach dem Start der Flugbahn und vor/nach dem Ende der Flugbahn ausgelöst werden.
Auslöser-Typ: Der Benutzer kann zwischen keinem Trigger, Zeittrigger und Distanztrigger wählen.
Trigger-Verzögerung: Eingestellte Zeit (Einheit: ms)
Aktion auslösen: Wählen Sie einen Anschluss und einen Anschlussstatus oder führen Sie ein benutzerdefiniertes Ereignis aus.

MoveL
Der Roboter fährt in einer geraden Linie zur Zielposition. Es können Parameter eingestellt werden:
Ziel-Pose: Sie kann durch Einlernen oder als Variable eingestellt werden und kann nach dem Einlernen manuell geändert werden.
Anlernen: Teachen Sie die Zielposition der Roboterbewegung. Nachdem Sie auf die Schaltfläche „Teach“ geklickt haben, wechselt die Benutzeroberfläche automatisch zur Seite „Move“. Nachdem Sie den Roboter in die Zielposition bewegt haben, klicken Sie auf die Schaltfläche „Pose aufnehmen“. Die Benutzeroberfläche wechselt zur Programmseite und die Zielposition des Roboters ist bereits aufgezeichnet.
Aufzeichnen: Zeichnet die aktuelle Roboterposition als Zielposition der Roboterbewegung für den aktuellen Funktionsblock auf.
Hierher fahren: Bewegen Sie den Roboter zu der zuletzt aufgezeichneten Position der Roboterzielbewegung. Nachdem Sie auf die Schaltfläche geklickt haben, wird das 3D-Simulationsmodell automatisch angezeigt. Wenn Sie die Schaltfläche „Bewegen“ am unteren Rand des 3D-Simulationsmodells gedrückt halten, bewegt sich der Roboter zu der aufgezeichneten Zielposition der Roboterbewegung.
Bemerkung
Achtung! Wenn der Roboter mit „Move to here“ in die Zielposition bewegt wird, kann die endgültige Position der Robotergelenke bei gleicher Roboter-Endeffektor-Position unterschiedlich sein, wenn die Startposition der Bewegung unterschiedlich ist. Anhand des 3D-Simulationsmodells und des Schattenmodells kann überprüft werden, ob die endgültige Position der Robotergelenke mit der während des Trainings aufgezeichneten Position übereinstimmt.
Bemerkung
Achtung! Wenn die kinematische Lösung der aktuellen Position der Robotergelenke während des Programmablaufs von der aufgezeichneten Zielposition der Robotergelenke abweicht, wird ein Fehler ausgegeben, um diesen anormalen Zustand anzuzeigen.
Übergeordnetes Koordinatensystem: Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das vom übergeordneten Move-Funktionsblock festgelegte Referenzkoordinatensystem. Dieser Parameter ist standardmäßig ausgewählt.
Referenz-Koordinatensystem: Wenn das übergeordnete Koordinatensystem nicht ausgewählt ist, kann das Referenzkoordinatensystem separat für den Funktionsblock festgelegt werden.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option aktiviert ist, verwendet der Funktionsblock die Parameter für die Endgeschwindigkeit und Endbeschleunigung, die vom übergeordneten Knoten eingestellt wurden Funktionsblock verschieben. Wenn der Benutzer diese Option nicht auswählt, müssen die Endgeschwindigkeit und die Endbeschleunigung für diesen Funktionsblock eingestellt werden. Sie sind standardmäßig ausgewählt.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeug-Beschleunigung: Einheit mm/s2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Überlagerungsradius des übergeordneten Knotens: Wenn dieser Parameter ausgewählt ist, wird der Überblendungsradius verwendet, der im übergeordneten Knoten Move function block eingestellt ist. Wenn dieser Parameter nicht ausgewählt ist, muss der Benutzer den Überblendungsradius für diesen Funktionsblock selbst festlegen. Dieser Parameter ist standardmäßig aktiviert.
Überblendungsradius: Einheit mm, der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
Bemerkung
Achtung! Ein Überblendungsradius mit einem ungeeigneten Wert würde zu Vibrationen während der Überblendungsbewegung führen. Es wird empfohlen, den Überblendungsradius je nach Einzelfall anzupassen.
Bemerkung
Achtung! Der Überblendungsradius mit kleinem Wert kann zu einem Fehlschlag der Überblendungsbewegung führen. In diesen Fällen wird empfohlen, mit dem MotionConfig-Funktionsblock die „Blend Preload“ an die Option „Motion start point“ anzupassen, wenn kein logisches Problem auftritt. Wenn die Überblendbewegung immer noch fehlschlägt, ist eine Verringerung der Bewegungsgeschwindigkeit oder eine Anpassung des Zielpunkts, um sicherzustellen, dass die Ursprungsbewegungszeit des Funktionsblocks nicht weniger als 100 ms beträgt, eine mögliche Methode, um die Überblendbewegung erfolgreich durchzuführen.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.

Wenn OP aktiviert ist, muss der Benutzer die folgenden Konfigurationen vornehmen:
Sie kann nach dem Start der Flugbahn und vor/nach dem Ende der Flugbahn ausgelöst werden.
Auslöser-Typ: Der Benutzer kann zwischen keinem Trigger, Zeittrigger und Distanztrigger wählen.
Trigger-Verzögerung: Eingestellte Zeit (Einheit: ms)
Auslöseabstand: Legen Sie den Abstand fest (Einheit: mm)
Aktion auslösen: Wählen Sie einen Anschluss und einen Anschlussstatus oder führen Sie ein benutzerdefiniertes Ereignis aus.

OP Operation in Blend:
Der Roboter setzt den allgemeinen digitalen Ausgangszustand während der Ausführung der Trajektorie. Bei der Verwendung mit Blends haben die drei moveL-Blends beispielsweise die folgende Wirkung:

MoveC
Der Roboter bewegt sich auf einem Bogen oder einem ganzen Kreis, die Parameter können eingestellt werden:
Modus: Bogen oder Vollkreis
Zwischenpunkthaltung/Zwischenpunkt 1: Sie kann durch Einlernen oder als Variable eingestellt und nach dem Einlernen manuell geändert werden.
Zielpose/Mittelpunkt 2: Sie kann durch Teachen oder als Variable eingestellt und nach der Teach-Einstellung manuell geändert werden.
Anlernen: Teachen Sie die Zielposition der Roboterbewegung. Nachdem Sie auf die Schaltfläche „Teach“ geklickt haben, wechselt die Benutzeroberfläche automatisch zur Seite „Move“. Nachdem Sie den Roboter in die Zielposition bewegt haben, klicken Sie auf die Schaltfläche „Pose aufnehmen“. Die Benutzeroberfläche wechselt zur Programmseite und die Zielposition des Roboters ist bereits aufgezeichnet.
Aufzeichnen: Zeichnet die aktuelle Roboterposition als Zielposition der Roboterbewegung für den aktuellen Funktionsblock auf.
Hierher fahren: Bewegen Sie den Roboter zu der zuletzt aufgezeichneten Position der Roboterzielbewegung. Nachdem Sie auf die Schaltfläche geklickt haben, wird das 3D-Simulationsmodell automatisch angezeigt. Wenn Sie die Schaltfläche „Bewegen“ am unteren Rand des 3D-Simulationsmodells gedrückt halten, bewegt sich der Roboter zu der aufgezeichneten Zielposition der Roboterbewegung.
Bemerkung
Achtung! Wenn der Roboter mit „Move to here“ in die Zielposition bewegt wird, kann die endgültige Position der Robotergelenke bei gleicher Roboter-Endeffektor-Position unterschiedlich sein, wenn die Startposition der Bewegung unterschiedlich ist. Anhand des 3D-Simulationsmodells und des Schattenmodells kann überprüft werden, ob die endgültige Position der Robotergelenke mit der während des Trainings aufgezeichneten Position übereinstimmt.
Bemerkung
Achtung! Wenn die kinematische Lösung der aktuellen Position der Robotergelenke während des Programmablaufs von der aufgezeichneten Zielposition der Robotergelenke abweicht, wird ein Fehler ausgegeben, um diesen anormalen Zustand anzuzeigen.
Übergeordnetes Koordinatensystem: Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das vom übergeordneten Move-Funktionsblock festgelegte Referenzkoordinatensystem. Dieser Parameter ist standardmäßig ausgewählt.
Referenz-Koordinatensystem: Wenn das übergeordnete Koordinatensystem nicht ausgewählt ist, kann das Bezugskoordinatensystem für den Funktionsblock separat festgelegt werden.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option aktiviert ist, verwendet der Funktionsblock die vom übergeordneten Knoten eingestellten Parameter für Endgeschwindigkeit und Endbeschleunigung. Wenn der Benutzer diese Option nicht auswählt, müssen die Endgeschwindigkeit und die Endbeschleunigung für diesen Funktionsblock eingestellt werden. Sie sind standardmäßig ausgewählt.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeugbeschleunigung: Einheit mm/s^2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Übergeordneter Knoten Überblendungsradius: Wenn dieser Parameter ausgewählt ist, wird der Überblendungsradius verwendet, der im übergeordneten Knoten Funktionsblock Verschieben eingestellt ist. Wenn dieser Parameter nicht ausgewählt ist, müssen Sie den Überblendungsradius für diesen Funktionsblock festlegen. Dieser Parameter ist standardmäßig aktiviert.
Überblendungsradius: Einheit mm, der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
Bemerkung
Achtung! Ein Überblendungsradius mit einem ungeeigneten Wert würde zu Vibrationen während der Überblendungsbewegung führen. Es wird empfohlen, den Überblendungsradius je nach Einzelfall anzupassen.
Bemerkung
Achtung! Der Überblendungsradius mit kleinem Wert kann zu einem Fehlschlag der Überblendungsbewegung führen. In diesen Fällen wird empfohlen, mit dem MotionConfig-Funktionsblock die „Blend Preload“ an die Option „Motion start point“ anzupassen, wenn kein logisches Problem auftritt. Wenn die Überblendbewegung immer noch fehlschlägt, ist eine Verringerung der Bewegungsgeschwindigkeit oder eine Anpassung des Zielpunkts, um sicherzustellen, dass die Ursprungsbewegungszeit des Funktionsblocks nicht weniger als 100 ms beträgt, eine mögliche Methode, um die Überblendbewegung erfolgreich durchzuführen.
Modus der Haltungssteuerung: Bei Auswahl von „Konsistent mit dem Endpunkt“ wird die Haltung des Roboters auf der Bogenbahn entsprechend der Haltung des Endpunkts geplant; bei Auswahl von „Konsistent mit dem Startpunkt“ wird die Haltung des Roboters auf der Bogenbahn entsprechend der Haltung des Startpunkts geplant und die Haltung im Bahnverlauf ist konsistent mit dem Startpunkt. Bei Auswahl von „Begrenzt durch den Kreismittelpunkt“ wird die Körperhaltung des Roboters an die durch die Bogenbewegung erzeugte Haltungsänderung gebunden.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.
Die Konfiguration der OP-Parameter ist die gleiche wie bei MoveL.

MoveTCP
Der Roboter bewegt sich entlang des Werkzeugkoordinatensystems.
Der Benutzer kann Offsets direkt in jede Richtung eingeben oder Variablen verwenden. Es können zwei Punkte geteacht werden und der Offset zwischen den beiden Punkten wird als Offset-Wert für die Bewegung verwendet. Andere konfigurierbare Parameter:
Übergeordnetes Koordinatensystem: Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das vom übergeordneten Move-Funktionsblock festgelegte Referenzkoordinatensystem. Dieser Parameter ist standardmäßig ausgewählt.
Referenz-Koordinatensystem: Wenn das übergeordnete Koordinatensystem nicht ausgewählt ist, kann das Referenzkoordinatensystem für den Funktionsblock separat eingestellt werden. Wenn der Benutzer sich für den inkrementellen Modus entscheidet, wählen Sie einfach das Werkzeugkoordinatensystem aus; wenn Sie sich für das Setzen von zwei Punkten entscheiden, müssen Sie das Werkzeugkoordinatensystem und das Werkstückkoordinatensystem festlegen.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option aktiviert ist, verwendet der Funktionsblock die vom übergeordneten Knoten eingestellten Parameter für Endgeschwindigkeit und Endbeschleunigung. Wenn der Benutzer diese Option nicht auswählt, müssen die Endgeschwindigkeit und die Endbeschleunigung für diesen Funktionsblock eingestellt werden. Sie sind standardmäßig ausgewählt.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeugbeschleunigung: Einheit mm/s^2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Übergeordneter Knoten Überblendungsradius: Wenn dieser Parameter ausgewählt ist, wird der Überblendungsradius verwendet, der im übergeordneten Knoten Funktionsblock Verschieben eingestellt ist. Wenn dieser Parameter nicht ausgewählt ist, muss der Benutzer den Überblendungsradius für diesen Funktionsblock selbst festlegen. Dieser Parameter ist standardmäßig aktiviert.
Überblendungsradius: Einheit mm, der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
Bemerkung
Achtung! Ein Überblendungsradius mit einem ungeeigneten Wert würde zu Vibrationen während der Überblendungsbewegung führen. Es wird empfohlen, den Überblendungsradius je nach Einzelfall anzupassen.
Bemerkung
Achtung! Der Überblendungsradius mit kleinem Wert kann zu einem Fehlschlag der Überblendungsbewegung führen. In diesen Fällen wird empfohlen, mit dem MotionConfig-Funktionsblock die „Blend Preload“ an die Option „Motion start point“ anzupassen, wenn kein logisches Problem auftritt. Wenn die Überblendbewegung immer noch fehlschlägt, ist eine Verringerung der Bewegungsgeschwindigkeit oder eine Anpassung des Zielpunkts, um sicherzustellen, dass die Ursprungsbewegungszeit des Funktionsblocks nicht weniger als 100 ms beträgt, eine mögliche Methode, um die Überblendbewegung erfolgreich durchzuführen.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.
Die Konfiguration der OP-Parameter ist die gleiche wie bei MoveL.

MoveWobj
Steuern Sie das Roboterwerkzeug, indem Sie es eine inkrementelle Distanz entlang des Werkstückkoordinatensystems vorwärts bewegen.
Der Benutzer kann Offsets direkt in jede Richtung eingeben oder Variablen verwenden. Es können zwei Punkte geteacht werden und der Offset zwischen den beiden Punkten wird als Offset-Wert für die Bewegung verwendet. Andere konfigurierbare Parameter:
Übergeordnetes Koordinatensystem: Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das vom übergeordneten Move-Funktionsblock festgelegte Referenzkoordinatensystem. Dieser Parameter ist standardmäßig ausgewählt.
Referenz-Koordinatensystem: Wenn das übergeordnete Koordinatensystem nicht ausgewählt ist, kann das Referenzkoordinatensystem für den Funktionsblock separat eingestellt werden. Wenn der Benutzer den inkrementellen Modus wählt, wählen Sie einfach das Werkstückkoordinatensystem; Wenn Sie zwei Punkte festlegen möchten, müssen Sie das Werkzeugkoordinatensystem und das Werkstückkoordinatensystem der Teach-Punkte festlegen.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option aktiviert ist, verwendet der Funktionsblock die vom übergeordneten Knoten eingestellten Parameter für Endgeschwindigkeit und Endbeschleunigung. Wenn der Benutzer diese Option nicht auswählt, müssen die Endgeschwindigkeit und die Endbeschleunigung für diesen Funktionsblock eingestellt werden. Sie sind standardmäßig ausgewählt.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeugbeschleunigung: Einheit mm/s^2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Übergeordneter Knoten Überblendungsradius: Wenn dieser Parameter ausgewählt ist, wird der Überblendungsradius verwendet, der im übergeordneten Knoten Funktionsblock Verschieben eingestellt ist. Wenn dieser Parameter nicht ausgewählt ist, muss der Benutzer den Überblendungsradius für diesen Funktionsblock selbst festlegen. Dieser Parameter ist standardmäßig aktiviert.
Überblendungsradius: Einheit mm, der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
Bemerkung
Achtung! Ein Überblendungsradius mit einem ungeeigneten Wert würde zu Vibrationen während der Überblendungsbewegung führen. Es wird empfohlen, den Überblendungsradius je nach Einzelfall anzupassen.
Bemerkung
Achtung! Der Überblendungsradius mit kleinem Wert kann zu einem Fehlschlag der Überblendungsbewegung führen. In diesen Fällen wird empfohlen, mit dem MotionConfig-Funktionsblock die „Blend Preload“ an die Option „Motion start point“ anzupassen, wenn kein logisches Problem auftritt. Wenn die Überblendbewegung immer noch fehlschlägt, ist eine Verringerung der Bewegungsgeschwindigkeit oder eine Anpassung des Zielpunkts, um sicherzustellen, dass die Ursprungsbewegungszeit des Funktionsblocks nicht weniger als 100 ms beträgt, eine mögliche Methode, um die Überblendbewegung erfolgreich durchzuführen.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.
Die Konfiguration der OP-Parameter ist die gleiche wie bei MoveL.

Spline
Das Ende des Roboters wird so gesteuert, dass es sich entsprechend der Spline-Kurve bewegt. Der Benutzer kann den Punkt „Anpassen“ oder „Direkter Unterricht“ wählen oder Variablen auswählen. Bei der Auswahl der Variablen können nur die Variablen der Pose_list ausgewählt werden. Andere Parameter können eingestellt werden:
Spline-Wegpunkte: Hinzufügen, Bearbeiten und Löschen von Wegpunkten zur Erstellung von Splines auf der Grundlage der Wegpunkte
Referenz-Koordinatensystem: Wenn die Position des Lehrpunkts angezeigt wird, ist das aktuelle Werkzeug- und Werkstückkoordinatensystem voreingestellt, das manuell geändert werden kann.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeugbeschleunigung: Einheit mm/s2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
Überblendungsradius: Einheit mm. Der Wertebereich ist [0, Unendlich], 0 bedeutet keine Überblendung.
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.
Die Konfiguration der OP-Parameter ist die gleiche wie bei MoveL

Bemerkung
Wenn zwei Splines zusammen verwendet werden, kann der Endpunkt des ersten Splines nicht mit dem Startpunkt des zweiten Splines übereinstimmen.
MotionConfig
Aktivieren oder deaktivieren Sie die sportbezogenen Konfigurationen. Optionale Konfiguration:
Geschwindigkeitsoptimierung: Wenn die Geschwindigkeitsoptimierung eingeschaltet ist, führt der Roboter den Bewegungsbefehl mit der höchstmöglichen Geschwindigkeit aus, wobei er die Systembedingungen einhält.
Vibrationskontrolle: Wenn die Vibrationskontrolle eingeschaltet ist, wird sie für die Vibrationen am Ende des Roboters optimiert.
Singularitätsvermeidung: Wenn die Singularitätsvermeidung aktiviert ist, wird die Flugbahn des Roboters automatisch optimiert, wenn er sich dem singulären Raum nähert.
Haltungsbeschränkung: Nachdem die Haltungsbeschränkung geöffnet wurde, wird die Bewegungseinstellung des Roboters immer mit der Beziehung zwischen dem Pfad übereinstimmen.
Blend-Vorspannung: Der Benutzer kann den Bewegungsmittelpunkt oder den Bewegungsstartpunkt auswählen. Ein Bewegungsskript, für das der Überblendungsradius konfiguriert ist, liest nachfolgende Skripte auf der Grundlage dieses Parameters auf den Überblendungsradius vor.

Bemerkung
Wenn die Singular-Escape-Funktion aktiviert ist, wird der zuvor festgelegte Pfad beeinflusst, wenn der Pfad durch einen singulären Punkt verläuft.
Bemerkung
Wenn die Singularitätsvermeidungsfunktion aktiviert ist, wird die Geschwindigkeit der einzelnen Gelenke beschleunigt, wenn die Singularität überschritten wird, und der Roboterarm meldet möglicherweise einen falschen Stromausfall aufgrund von Gelenküberdrehzahl.
MoveSpiral
Der Roboter führt eine spiralförmige Bewegung aus, die Parameter können eingestellt werden:
Spiralförmiger Lernmodus: Parametereinstellung oder Endpunkteinstellung.
Gesamtzahl der Umdrehungen: Die Gesamtzahl der Umdrehungen des Roboters. Eine positive Zahl bedeutet eine Drehung im Uhrzeigersinn, eine negative Zahl eine Drehung gegen den Uhrzeigersinn.
Helix-Mittelpunkt: Dieser kann durch Einlernen oder als Variable festgelegt werden und kann nach dem Einlernen manuell geändert werden.
Axialer Verschiebeabstand: Wenn der Lernmodus auf Parametereinstellung eingestellt ist, muss der Parameter eingestellt werden. Die positiven und negativen Vorzeichen folgen der Regel der rechten Hand (Einheit: mm).
Endpunkt-Radius: Dieser Parameter ist erforderlich, wenn der Lernmodus auf Parametereinstellung eingestellt ist. Die Einheit ist mm.
Endpunkt der Spur: Wenn der Teach-Modus auf Endpunkt eingestellt ist, kann dieser durch den Teach-Modus festgelegt werden oder auf eine Variable gesetzt werden, die nach der Teach-Einstellung manuell geändert werden kann.
Übergeordnetes Koordinatensystem: Wenn dieser Parameter ausgewählt ist, verwendet der Funktionsblock das vom übergeordneten Move-Funktionsblock festgelegte Referenzkoordinatensystem. Dieser Parameter ist standardmäßig ausgewählt.
Referenz-Koordinatensystem: Wenn das übergeordnete Koordinatensystem nicht ausgewählt ist, kann das Bezugskoordinatensystem für den Funktionsblock separat festgelegt werden.
Parameter des übergeordneten Knotens verwenden: Wenn diese Option aktiviert ist, verwendet der Funktionsblock die Parameter für Endgeschwindigkeit und Endbeschleunigung, die vom übergeordneten Knoten Funktionsblock verschieben festgelegt wurden. Wenn Sie diese Option nicht auswählen, müssen Sie die Endgeschwindigkeit und Endbeschleunigung für diesen Funktionsblock festlegen. Sie sind standardmäßig ausgewählt.
Werkzeuggeschwindigkeit: Einheit mm/s, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, 5000].
Werkzeugbeschleunigung: Einheit mm/s^2, der Benutzer kann den Wert anpassen oder eine Variable auswählen, der Wertebereich ist [0,01, Unendlich].
OP aktivieren: Die OP-Funktion ermöglicht es dem Benutzer, allgemeine digitale Ausgangszustände zu setzen oder den Werkzeugausgangszustand zu setzen oder benutzerdefinierte Ereignisse während der Spurausführung zu manipulieren.
Die Konfiguration der OP-Parameter ist die gleiche wie bei MoveL.

CombineMotion
Nur für die lineare und kreisförmige Bewegungssteuerung des Roboters, der eine zusammengesetzte Bewegung ausführt, können Parameter eingestellt werden:
Typ der Trajektorie: Standard ist Dreieck, optional Dreieck, Sinus, Bogen, Trapez, 8.
Bezugsebene: Die Vorgabe ist Werkzeug XOY, optional Werkzeug XOY oder Werkzeug XOZ oder Werkzeug YOZ oder Benutzer XOY oder Benutzer XOZ oder Benutzer YOZ.
Synchronisierung der Bahnverweildauer: Wenn die Bahnart Sinus oder Trapez ist, ist der Parameter, der konfiguriert werden muss, standardmäßig nicht aktiviert. Wenn dieser Parameter aktiviert ist, kann die Hauptbahn der Roboterbewegung während der linken und rechten Verweildauer gleichzeitig angehalten werden.
Frequenz: Der Standardwert ist 1 (Einheit: Hz)
Amplitude: Der Standardwert ist 1 (Einheit: mm)
Linke Verweildauer: gibt den zu konfigurierenden Parameter an, wenn der Trajektorientyp Sinus oder Trapez ist (Einheit: ms)
Rechte Verweildauer: gibt den zu konfigurierenden Parameter an, wenn der Trajektorentyp Sinus oder Trapez ist (Einheit: ms)

Basisfunktionsblock#
Set
Funktionsblock einstellen. Der digitale Ausgangsanschluss des Schaltschranks und der digitale Ausgangsanschluss am Ende des Roboters können als High-Pegel-Elektronik oder Low-Pegel-Elektronik oder als Impulssignal eingestellt werden. Bei der Einstellung als Impulssignal müssen die Frequenz und das Tastverhältnis des Impulses eingestellt werden; Weisen Sie einem Programm oder einer Systemvariablen einen Wert zu.
Bemerkung
Wenn Sie eine Variable zuweisen, wird die Ausdruckstastatur eingeblendet. Bitte geben Sie die Zuweisung entsprechend der Ausdruckssyntax ein. Wenn Sie einer String-Variablen „Hallo“ zuweisen, geben Sie „Hallo“ auf der Tastatur ein (doppelte Anführungszeichen können nicht weggelassen werden).

Warte
Funktionsblock Warten. Der Benutzer kann wählen, ob er für eine bestimmte Zeit warten will, auf ein DI-Signal warten will, auf das Ende eines bestimmten Threads oder Ausdrucks warten will, die Programmausführung zu diesem Funktionsblock wird warten, bis die festgelegten Bedingungen erfüllt sind.

Hinweis: Die Verzögerung ist auf mindestens 100ms eingestellt!
Wenn eine andere Option als „Verzögerung“ gewählt wird, wird ein Kontrollkästchen angezeigt, das angibt, ob die Zeitüberschreitungserkennung aktiviert werden soll. Wenn Sie „Zeitüberschreitungserkennung aktivieren“ wählen, können Sie die Zeitüberschreitungsdauer und die Zeitüberschreitungsvariablen eingeben, wie in der folgenden Abbildung dargestellt.

Der Benutzer kann die Timeout-Zeit manuell eingeben, die Standard-Timeout-Zeit ist 60000ms; und der Benutzer kann auch die Timeout-Variable verwenden, um zu bestimmen, ob die Timeout-Zeit abgelaufen ist, aber die Timeout-Variable ist optional und kann nicht ausgewählt werden.
Skript
Skript-Funktionsblock. Der Benutzer kann Ausdrücke, Skripte oder Skriptdateien wählen. Ausdrücke können verwendet werden, um eine Skriptzeile mit dem Ausdruckseditor zu erstellen, siehe Abschnitt 8 Eingabetastatur (Ausdruckseingabetastatur) für die Eingabe von Ausdrücken; Skripte können verwendet werden, um einen ganzen Abschnitt des Skriptcodes zu schreiben; Skriptdateien können aus den Dateien ausgewählt werden, um eine Skriptdatei zu schreiben. Eine Beschreibung des Skriptcodes finden Sie im Skripting-Handbuch.

Wenn Sie ein Skript auswählen, um den gesamten Code zu schreiben, klicken Sie auf das Symbol über dem Bearbeitungsbereich, um ein Eingabefeld für Tastenkombinationen aufzurufen (siehe unten).

Klicken Sie auf das Maximierungssymbol oberhalb des Bearbeitungsbereichs, um den Skriptbearbeitungsbereich wie folgt anzuzeigen. Klicken Sie auf die obere rechte Seite der Maximierungsschnittstelle
, um das Symbol auf die ursprüngliche Größe der Schnittstelle zurückzusetzen.
ist das Rückgängigmachen des Symbols,
ist das Wiederherstellungssymbol. Die Anzahl der Zeilen und Spalten, in denen sich der Cursor befindet, wird in der unteren linken Ecke des Bearbeitungsbereichs angezeigt, und die Gesamtzahl der Skriptzeilen wird in der unteren rechten Ecke angezeigt.

Im Skriptschreibmodus kann der Benutzer das eingebaute Tastenkürzelfeld und die externe Tastatur zur Eingabe verwenden. Klicken Sie auf das Symbol über dem Skriptbereich, um das Eingabefeld für die Systemtastatur zu öffnen, das wie unten gezeigt über dem Editor hängt und gedrückt gehalten und gezogen werden kann.

Das Eingabefeld für Tastenkombinationen enthält drei Bezeichnungen: Tastenkombinationen, allgemeine Tastatur und Skriptfunktionen. Unter dem Eingabefeld für einige häufig verwendete Steuerungstasten befinden sich die Funktionen Cursor links, Cursor rechts, Cursor oben, Cursor unten, Leerzeichen eingeben, Löschen und Zeilenvorschub.

Die Shortcut-Eingabe bietet Shortcuts für einige häufig verwendete Funktionen. Die wichtigsten Funktionen sind
Punktposition: Klicken Sie auf die Schaltfläche „Gelenk“, um den Gelenkwert der aktuellen Robotereinheit in Rad einzugeben. Klicken Sie auf die Schaltfläche „Haltung“, um die Position und Haltung des aktuellen Roboterwerkzeugs auf der eingestellten Werkstückeinheit in Rad einzugeben.
Funktion: Der Benutzer kann While-Schleifen, bedingte Verzweigungen, Funktionsdefinitionen, einzeilige Kommentare usw. eingeben.

IO/Register/Modbus/Variable: Der Benutzer kann wählen, ob er über diese Funktion lesen oder schreiben möchte, das System wird automatisch in die entsprechende Skriptfunktion umgewandelt. Wenn der Benutzer die Lesefunktion und DI1 auswählt, ruft das System automatisch die entsprechende Skriptfunktion get_standard_digital_in(1) auf.
Operator: Geben Sie einige häufig verwendete Operatoren ein.

Die allgemeine Tastatur ähnelt einer physischen Tastatur und ermöglicht dem Benutzer die Eingabe von Groß- und Kleinbuchstaben, Zahlen und Symbolen.
Die Skriptfunktion kann aus der Liste der Skriptfunktionen ausgewählt werden. Nach der Auswahl werden im unteren Teil der Skriptfunktion die Beschreibung und Beispiele angezeigt. Mit einem Doppelklick oder einem Klick auf die obere linke Schaltfläche „Hinzufügen“ kann die Skriptfunktion in den Skriptbereich eingegeben werden, der die Skriptsuche unterstützt.

Log
Funktionsblock Log. Der Benutzer kann Meldungen oder Variablenwerte in eine Protokolldatei drucken.

Mitteilung
Funktionsblock Meldungs-Pop-up. Das Meldungs-Popup-Feld kann so konfiguriert werden, dass es das Programm anhält, nur ein Popup-Fenster öffnet oder das Programm anhält.

Wenn Sie das Programm anhalten möchten, geben Sie eine Meldung ein, und wenn das Programm zu diesem Funktionsblock läuft, wird ein Dialogfeld angezeigt, erscheint ein Dialogfenster, in dem die Meldung angezeigt wird und das Programm angehalten wird, Der Benutzer kann dann wählen, ob er das Programm fortsetzen, anhalten oder das Popup-Fenster schließen möchte.

Wenn Sie nur Pop-up-Fenster auswählen, legen Sie eine Meldung fest und ein Dialogfeld wird angezeigt, wenn das Programm diesen Funktionsblock aufruft, Der Benutzer kann dann wählen, ob er das Programm anhalten oder das Pop-up-Fenster schließen möchte.

Wenn Sie sich entscheiden, das Programm anzuhalten, geben Sie eine Meldung ein, und wenn das Programm zu diesem Funktionsblock läuft, erscheint ein Dialogfenster, das die Meldung anzeigt, und das Programm wird direkt angehalten, und der Benutzer kann das Pop-up-Fenster schließen.

Kommentar
Funktionsblock kommentieren. Fügt einen Kommentar in den Programmbaum ein. Dieser Funktionsblock führt keine Aktion aus, während das Programm läuft.

Gruppe
Funktionsblöcke gruppieren. Einige Funktionsblöcke können unter einer „Gruppe“ platziert werden, um die Organisation und das Lesen des Programms zu erleichtern, während die Programmausführung nicht beeinträchtigt wird.

CoordOffset
Funktionsblock Koordinatenversatz. Er wird verwendet, um einen Offset auf der Grundlage des Werkstückkoordinatensystems festzulegen, der benutzerdefiniert oder als Variable eingestellt werden kann. Dieser Offset wird zum Referenzwerkskoordinatensystem des nachfolgenden Funktionsblocks der Kategorie ‚Bewegen‘ hinzugefügt. Wenn das Programm läuft, hält das Programm den Koordinatensystem-Offset an.

Bemerkung
Der Wert des Wobj-Offsets, der während der Ausführung des Programms vom Funktionsblock CoordOffset festgelegt wird, wird nach Beendigung des Programms automatisch auf 0 zurückgesetzt. Wenn der Bediener während der Ausführung des Programms das Programm anhält und den Roboter manuell im kartesischen Raum bewegt, ist der Referenz-Wobj-Koordinatenwert derjenige, der vom Funktionsblock CoordOffset geändert wird. Diese Änderung wird nur zurückgesetzt, bis das Programm manuell angehalten oder automatisch beendet wird.
SetLoad
Stellen Sie den Funktionsblock zum Abholen der Last ein. Die aktuelle Last des Roboters (Masse, Massenschwerpunkt) kann während des Programmbetriebs eingestellt werden.

GetListElement

Ruft den Listenelement-Funktionsblock auf. Dieser Funktionsblock wird verwendet, um eines der Elemente aus einer Variablen vom Typ Liste abzurufen und den Wert dieses Elements in die angegebene Variable zu übertragen.
Wählen Sie den Listentyp: Derzeit werden mit num_list, pose_list und joints_list drei Arten von Variablen unterstützt. Um sie zu verwenden, muss der Benutzer zunächst die gewünschte Liste Klasse Variable erstellen.
Index: Die Position des gewünschten Elements in der Liste, beginnend bei 1. Der Benutzer kann einen Indexwert direkt eingeben oder einen Indexwert aus einer Variablen beziehen.
Element: Legt die entsprechende Variable fest, an die das erhaltene Element übertragen werden muss, wobei die drei Variablentypen Anzahl, Haltung und Verbindungen unterstützt werden. Um sie zu verwenden, muss der Benutzer zunächst die gewünschten Variablen festlegen.
Bemerkung
Der Funktionsblock GetListElement ändert die Daten in der ursprünglichen Listenvariablen nicht. Er löscht das erhaltene Element nicht. Er kopiert, anstatt es auszuschneiden.
Bemerkung
Der Typ der übertragenen Variablen muss mit dem Typ des Elements in der Listenvariablen übereinstimmen. So können beispielsweise die aus der Variable pose_list gewonnenen Pose-Variablen nicht in der Variable joints gespeichert werden.
RemoveListElement
Entfernt den Funktionsblock Listenelement. Dieser Funktionsblock wird verwendet, um ein Element in einer Variablen vom Typ Liste aus dem Typ Liste zu löschen.
Wählen Sie den Listentyp: Derzeit werden mit num_list, pose_list und j oints_list drei Arten von Variablen unterstützt. Um es zu verwenden, muss der Benutzer zunächst die gewünschte Liste Klasse Variable erstellen.
Index: Die Position des gewünschten Elements in der Liste, beginnend bei 1. Der Benutzer kann einen Indexwert direkt eingeben oder einen Indexwert aus einer Variablen beziehen.

Bemerkung
Der RemoveListElement-Block ändert die Daten in der ursprünglichen Listenvariablen und die Position des Elements nach der Indexnummer. Beispiel: pose_list enthält die Pose-Variable {A,B,C,D}. Wenn Sie den Block RemoveListElement verwenden und die Variable B entfernen, wird das Element in der neuen pose_list zu {A,C,D} anstelle von {A,nul,C,D}, und null zeigt an, dass es eine Pose-Variable gibt, aber der Wert ist leer.
TimerStart
Funktionsblock „Timing Start“. Dieser Funktionsblock wird zum Starten des Zeitgebers verwendet.

TimerEnd
Funktionsblock Timer-Ende. Dieser Funktionsblock wird verwendet, um die Zeit des Timers zu beenden.
Variablen auswählen: Es werden nur Variablen vom Typ globaler Zeitgeber unterstützt. Um sie zu verwenden, muss der Benutzer zuerst die globale Timer-Klassenvariable erstellen.

Stopp
Stoppen Sie den Funktionsblock. Dieser Funktionsblock wird verwendet, um Anweisungen zum Anhalten des Programms zu geben.

Durchflusskontrolle#
Während
Funktionsblock einer Schleife. Eine Schleife führt ihre internen Funktionsblöcke aus. Der Benutzer kann ihn so einstellen, dass er immer in einer Schleife läuft; die Anzahl der Schleifen angeben; eine Schleifenbedingung angeben, die so lange in einer Schleife läuft, wie die Schleifenbedingung wahr ist.

wenn
Bedingter Funktionsblock. Sie können eine Bedingung für einen digitalen Eingangsanschluss oder einen Bedingungsausdruck festlegen. Wenn die Bedingung erfüllt ist, wird der Funktionsblock in IF ausgeführt, und nachfolgende elsif oder else Funktionsblöcke können hinzugefügt werden

Springen&Label
Die Funktion Springen kann in Verbindung mit der Funktion Etikett den Kontrollpunkt des Programms an die Position Etikett übertragen.
Zunächst erstellen Sie einen Funktionsblock Label, markieren den Sprungpunkt und benennen ihn. Mit dem Goto-Block wird die Stelle ausgewählt, zu der gesprungen werden soll.
Das in der Abbildung gezeigte Beispielprogramm zeigt, dass das Programm, wenn es bis zur Zeile 6 läuft, zum Label1 in Zeile 3 springt und dann abwärts ausgeführt wird, d. h. der Funktionsblock Setzen in Zeile 4 und der Funktionsblock Warten in Zeile 5 werden zweimal ausgeführt.

Kommunikation#
SocketOpen
Um ein Socket zu erstellen, muss der Benutzer auf der Parameterseite den Namen der Verbindung festlegen, die IP-Adresse und die Portnummer des Zielservers konfigurieren und auswählen, ob der Rückgabewert an eine Variable gebunden werden soll oder nicht.

SocketClose
Um die Socket-Verbindung zu schließen, wählen Sie den Namen der zu schließenden Verbindung.

SocketSend
Der Socket sendet Daten. Sendet Daten an eine bestehende Socket-Verbindung. Der Sendetyp kann eine Zeichenkette oder eine Reihe von Fließkommazahlen sein. Bei den Sendedaten kann es sich um eine Variable oder eine direkte Eingabe handeln.

SocketRecv
Der Socket empfängt Daten. Empfängt Daten von einer bestehenden Socket-Verbindung. Der Empfangstyp kann eine Zeichenkette, ein Zeichenkettenarray oder eine Gleitkommazahlengruppe sein. Die Empfangsinformation konfiguriert die Empfangsvariable.
Wenn die Empfangslänge angegeben ist, empfängt das Programm die Daten in dieser Länge, verarbeitet sie entsprechend der Zeichenkette und speichert sie in der unter ‚Empfangsinformationen‘ konfigurierten Variablen.
Wenn das String-Array der Typ ist, parst das Programm den empfangenen String in numerische Werte. Alle Werte stehen in () und sind durch Kommas (,) getrennt. Wird zum Beispiel eine Zeichenkette ‚(12,1.23)‘ von einem Socket empfangen, konvertiert der Block sie in num_list mit dem Wert {12,1.23} und speichert sie in einer Variablen in der Konfiguration ‚Nachrichten empfangen‘.
Wenn ein Gleitkommazahlentyp angegeben wird, konvertiert das Programm die empfangenen Daten in eine Reihe von Gleitkommazahlen mit einfacher Genauigkeit (konvertiert nach dem IEEE 754-Standard) und speichert sie in einer Variablen in der Konfiguration „Receive Information“.
Der Benutzer kann eine Timeout-Periode für den Empfang von Daten konfigurieren. Wenn innerhalb der Timeout-Periode keine der Regel entsprechenden Daten empfangen werden, wird die nächste Anweisung ausgeführt.

CommSend
Rezeptdaten werden gesendet. Wenn das Rezept am 485- oder CAN-Port des Roboters eingestellt ist, kann der Funktionsblock verwendet werden, um Werte für die Daten im Rezept einzustellen und sie zu senden. Die Rückgabevariable kann gesetzt werden, um den Status der gesendeten Rezeptdaten zu erhalten.

CommRecv
Empfang von Rezeptdaten. Wenn das Rezept am 485-Port oder CAN-Port des Roboters eingestellt ist, wird der Funktionsblock zum Empfangen von Daten verwendet, und nach der Verarbeitung gemäß dem Rezept werden die erhaltenen num_list-Daten der empfangenen Variablen zugewiesen.

Fortgeschrittene#
Unterprogramm
Unterroutine. Der Benutzer kann andere Programme in das aktuelle Programm einbetten. Dazu gibt es zwei Möglichkeiten:
Wählen Sie das eingebettete Unterprogramm direkt aus der Programmliste aus. Wenn der Benutzer die Option „Unterprogramm einbetten“ nicht ankreuzt, wird das Unterprogramm bei jedem Programmlauf aus der Datei geladen, d.h. die Änderungen in der Unterprogrammdatei wirken sich auf das Hauptprogramm aus, und der Benutzer kann die Unterprogrammdatei direkt öffnen, indem er auf die Schaltfläche „Öffnen“ hinter dem Unterprogrammnamen klickt. Anschließend kann der Benutzer auf die Schaltfläche „Öffnen“ hinter dem Namen des Unterprogramms klicken, um die Unterprogrammdatei direkt zur Ansicht zu öffnen. Wenn dieses Kontrollkästchen aktiviert ist, wird das Unterprogramm direkt in das Hauptprogramm kopiert, und die Änderungen an der Unterprogrammdatei haben keine Auswirkung auf sie, und die Schaltfläche „Öffnen“ wird nicht hinter dem Namen des Unterprogramms angezeigt.
Setzt der Benutzer sie auf eine String-Variable, lädt das Programm zur Laufzeit dynamisch das entsprechende Unterprogramm auf der Grundlage des Wertes der Variablen als Unterprogrammname.
Bemerkung
Beim „Inline-Unterprogramm“ werden die Programmvariablen im Unterprogramm auch in das Hauptprogramm kopiert. Wenn es im Hauptprogramm eine Variable mit demselben Namen gibt, kann sie Auswirkungen auf das Hauptprogramm haben. Prüfen Sie daher bei der Verwendung sorgfältig das Verhalten dieser Variablen, um sicherzustellen, dass sie die ursprüngliche Ausführungslogik Ihres Programms nicht beeinträchtigt.
Bemerkung
Wenn Sie sich mit einer String-Variablen auf ein Unterprogramm beziehen, kreuzen Sie nicht „Inline-Unterprogramm“ an.


Wiederholung
Die Trajektorie wird wiederholt. Es ist möglich, eine Roboterbewegungsspur zu erstellen, deren Aufzeichnungsmodus die positionsbasierte Aufzeichnung oder die zeitbasierte Aufzeichnung ist. Wenn das Programm zu diesem Funktionsblock ausgeführt wird, bewegt der Roboter die Trajektorie entsprechend dem gemeinsamen raumbasierten oder kartesischen Wiedergabemodus. Der Benutzer kann eine vorhandene Spurdatei auswählen oder eine neue Spur erstellen.
Um eine neue Spur zu erstellen, klicken Sie auf die Schaltfläche „Neue Spur“ und geben Sie den Spurnamen ein; das Feld „Spuraufzeichnung“ wird angezeigt. Nachdem Sie das Werkzeugkoordinatensystem, das Werkstückkoordinatensystem und den Aufzeichnungsmodus ausgewählt haben, klicken Sie auf die Schaltfläche „Aufzeichnung starten“, um die Aufzeichnung der Spurdaten zu beginnen. Zu diesem Zeitpunkt wird auf der Seite ein halbtransparentes Feld angezeigt, das darauf hinweist, dass die Spur aufgezeichnet wird. Klicken Sie auf „Aufzeichnung stoppen“ oder auf die Schaltfläche „Stopp“ in der Schwebebox, um die Erstellung der Spurdatei abzuschließen. Wenn der Benutzer während der Spuraufzeichnung das Koordinatensystem ändert oder das aktuelle Koordinatensystem wechselt, wird die aktuelle Spuraufzeichnung beendet, und der Schweberahmen „Spuraufzeichnung“ verschwindet.

Wenn der Wiederholungsmodus auf dem gemeinsamen Raum basiert, werden für die ausgewählte Spur der Spurname und der Aufzeichnungsmodus der Spur angezeigt. Wenn der Wiederholungsmodus auf dem kartesischen Raum basiert, werden der Spurname, der Aufzeichnungsmodus, das Werkzeugkoordinatensystem und das Werkstückkoordinatensystem der Aufzeichnungszeit angezeigt.

Palette
Palettieren/Entladen. Eine Reihe von Standardvorlagen für das Palettieren/Entpalettieren kann automatisch geladen und anhand einiger einfacher Parametereinstellungen angepasst werden.

Befolgen Sie diese Schritte, um die Palettier-/Entpalettierblöcke zu verwenden:
Legen Sie fest, ob Sie palettieren oder entladen wollen. Palettieren bedeutet, das Werkstück auf die Palette zu bringen, entladen bedeutet, das Werkstück von der Palette zu nehmen.
Der Benutzer kann den Namen angeben, bei jedem Hinzufügen einer Palette wird ein Standardname erzeugt.
Wählen Sie den Platzierungsmodus des Werkstücks auf dem Tablett, gerade Linie oder Gittermodus.
Das vom Kalibriertablett verwendete Bezugskoordinatensystem wird auf der Grundlage des ersten auf dem Tablett platzierten Werkstücks kalibriert. Der Punkt P1 gibt den Einlernpunkt des Werkstücks an, der Punkt P2 die Linienrichtung (die Richtung der X-Achse des Referenzkoordinatensystems) und der Punkt P3 die Spaltenrichtung. Klicken Sie auf die Schaltfläche „Kalibrierung“, um die Kalibrierung des Koordinatensystems abzuschließen. Der Wert des Referenzkoordinatensystems wird im oberen Bereich angezeigt.
![]()
Klicken Sie auf die Schaltfläche „Hinzufügen & Aktivieren“, woraufhin ein Dialogfeld erscheint. Nachdem Sie den Namen des Koordinatensystems eingegeben haben, wird es dem System hinzugefügt und als aktuelles Koordinatensystem festgelegt.
![]()
Legen Sie die Parameter für die Platzierung des Werkstücks fest, müssen Sie die Höhe des Werkstücks, die Anzahl der Stücke in der Richtung der Linie und Spalte, der Abstand des Werkstücks in der Richtung der Linie und Spalte gesetzt.
Legen Sie die Zählvariable des Werkstücks fest. Dazu müssen Sie eine Variable vom Typ Nummer im Variablenbereich des Programms erstellen.
Legen Sie die Anzahl der Ebenen fest.
Definieren Sie den Punkt der Ausführung der Aktion an jedem Werkstück, der in drei Punkte unterteilt werden kann: Annäherungspunkt, Aktionspunkt und Austrittspunkt. Die drei Punkte werden beim ersten auf dem Tablett platzierten Werkstück angezeigt. Der Annäherungspunkt ist die Position, an der der Roboter zur Oberseite des Tabletts läuft und das Werkstück platzieren/greifen will; der Aktionspunkt ist die Position, an der der Roboter das Werkstück platziert/greift; der Austrittspunkt ist die Position, an der der Roboter das Tablett nach dem Platzieren/Greifen verlässt. Hinweis: Diese drei Punkte müssen im Referenzkoordinatensystem des Tabletts eingelernt werden.
Nachdem das Einlernen abgeschlossen ist, klicken Sie auf die Schaltfläche „Skript generieren“, wodurch automatisch eine Reihe von Funktionsblöcken in das Programm eingefügt wird.
Der Gruppenfunktionsblock kann entsprechende Ausführungsaktionen wie das Öffnen und Schließen der Spannpratze hinzufügen.
![]()
ist das Programm auf den Zyklusmodus eingestellt, wird das Palettierprogramm jedes Mal ausgeführt, entsprechend den eingestellten Parametern, um den Versatz zu berechnen und die nächste Palettier-/Entladeposition zu bestimmen. Im Bereich Variablen kann die Anzahl der aktuell palettierten/unpalettierten Werkstücke entsprechend der eingestellten Variable Werkstückanzahl angezeigt werden
RecordPoseTrans
Operation Punktumwandlung Lehrfunktionsblock. Wird für die Punktumwandlung verwendet.
In der folgenden Abbildung ist der Punkt O der Bezugspunkt, und die Lage der Punkte A, B, C und D in Bezug auf den Bezugspunkt O ist unverändert. Der Funktionsblock für die Betriebspunktumwandlung zeichnet die relative Lagebeziehung dieser Punkte in Bezug auf den Referenzpunkt O auf und gibt die Lage der Punkte A‘, B‘, C‘ und D‘ aus, wenn sich die Lage von O ändert. Er wird häufig bei der visuellen Identifikation, der Laserortung und anderen Gelegenheiten verwendet. Zum Beispiel ist in der visuellen Identifikationspositionierungsszene der Referenzpunkt O der Markierungsblock der Station A, und A, B, C und D sind die vier Werkstücke der Station, und die Werkstücke sind relativ zur Pose des Markierungsblocks fixiert. Die Lage des Markierungsblocks im Koordinatensystem der Roboterbasis wird von der Kamera identifiziert, und die Lage des Werkstücks im Koordinatensystem der Roboterbasis wird vom Funktionsblock für das Einlernen der Betriebspunkte berechnet.


Die Konfigurationsseite ist in der Abbildung dargestellt und besteht aus drei Teilen: Der Referenzpunkt (O-Punkt) wird in „Input-reference Pose“ festgelegt, der Arbeitspunkt (A,B,C,D) wird in „Operation Point Offset“ festgelegt, und die Variablen zur Speicherung des berechneten Arbeitspunkts (A ‚,B ‚,C ‚, und D ‚) werden in „Output-conversion Pose“ festgelegt. In der Konfigurationsphase zeichnet der Funktionsblock die Abweichung des Arbeitspunktes (A,B,C,D) vom Referenzpunkt (O) auf; wenn das Programm läuft, wird die Pose des Arbeitspunktes (A ‚,B ‚,C ‚,D ‚) entsprechend dem Wert der aktuellen Eingangsvariablen (O ‚Punkt) plus der Abweichung berechnet.
Wählen Sie eine globale Variable des Pose-Typs als Referenzpose aus, klicken Sie auf die Schaltfläche „Als Basis festlegen“, der aktuelle Wert der Variablen wird als Referenzbasis (O-Punkt) verwendet. Der Benutzer kann den Roboter bewegen, um einen Punkt (A, B, C, D) auszuwählen. Nach der Auswahl wird ein neuer Punkt hinzugefügt und auf der Konfigurationsseite wird der Wert des hinzugefügten Punktes unter dem Basis-Label angezeigt. Wählen Sie im Ausgabefeld die Variable A pose_list, um die Ergebnisse der Berechnung zu speichern (A ‚,B ‚,C ‚,D ‚).
Skripte zur Gewaltkontrolle
Zu den aktuellen Skripten zur Kraftsteuerung gehören Force, ForceGuard, ForceSetZero, ForceWait, ForceMove. Eine detaillierte Anwendung finden Sie im „DUCO CORE Terminal Force Control Function Manual“.
CollisionDetect
Stufe der Kollisionserkennung. Das Skript kann die Empfindlichkeitseinstellung der Kollisionserkennung während des Programmablaufs realisieren.
Bemerkung
Die in diesem Funktionsblock eingestellten Parameter wirken sich nur auf den Startzustand des Roboters aus und werden beim Ausschalten nicht gespeichert. Wenn Sie die Empfindlichkeit der Kollisionserkennung dauerhaft einstellen möchten, stellen Sie sie unter „Einstellungen“-„Andere Einstellungen“ - „Kollisionseinstellungen“ ein und speichern Sie das Projekt.

Thread
Threads, die parallel zum Hauptprogramm des Roboters ausgeführt werden, interagieren über Variablen mit dem Hauptprogramm. Im Bereich der Parameterkonfiguration kann der Benutzer einstellen, ob der Thread in einer Schleife weiterläuft und ob der Thread reentrant ist, d.h. ob er eine neue Ausführungsinstanz erstellen kann, wenn die Ausführung nicht abgeschlossen ist. Es ist auch möglich, bis zu 10 Threads in einem Programm zu erstellen.

Bemerkung
Roboter-Bewegungsblöcke sind in diesem Thread nicht erlaubt.
Variabler Bereich#
Auf dieser Seite können Sie Programmvariablen erstellen und die Werte von Programmvariablen überwachen. Programmvariablen unterscheiden sich von Systemvariablen dadurch, dass Systemvariablen auf das gesamte Projekt wirken, während Programmvariablen nur innerhalb des Programms existieren.
Variable hinzufügen#
Klicken Sie auf die Schaltfläche „Variable hinzufügen“, um ein Dialogfeld zu öffnen (siehe Abbildung), in dem Sie den Variablennamen eingeben, den Typ auswählen und den Anfangswert angeben können.

Programmvariablen haben die folgenden Typen:
boolean: Boolescher Wert. Der Wert kann nur false oder true sein
number: Gibt den Zahlentyp an
Zeichenkette: Gibt einen Stringtyp an
num_list: Array-Typ
pose: Ein Datentyp, der die kartesische Position des Roboters darstellt
Gelenke: Ein Datentyp von Robotergelenken
Gelenke_liste: Gibt den Datentyp der Liste der Robotergelenkpositionen an
pose_list: Gibt die Daten der kartesischen Positionsliste des Roboters an
pose_speed: Gibt den Datentyp der Geschwindigkeit des Endes des Roboters an
pose_acc: Gibt den Datentyp der Beschleunigung am Ende der Roboterfahrt an.
joint_speed: Gibt den Datentyp der Winkelgeschwindigkeit des Robotergelenks an
pose_acc: Gibt den Datentyp der Winkelbeschleunigung des Robotergelenks an

Variabler Monitor#
Wenn die Option „Variablenmonitor“ aktiviert ist, werden die aktuellen Werte der Programmvariablen auf diesem Bildschirm angezeigt, während das Programm läuft. Durch Anklicken der Schaltfläche „Sortieren“ kann der Benutzer auch die Namen der Programmvariablen alphabetisch sortieren.
Bemerkung
Gelenke und Pose-Variablen sollten als num_list überwacht werden und die Dateneinheit ist m/rad.
Wenn die Option „Variablenmonitor“ nicht aktiviert ist, wird die Effizienz der Skriptausführung erheblich verbessert, da der Prozess der Synchronisierung von Programmvariablen und deren Anzeige auf der Benutzeroberfläche eingespart wird.

Laufen lassen#
Klicken Sie auf die Registerkarte „Simulation“, um zur Seite „3D-Modell“ zu gelangen, auf der das 3D-Modell des Roboters angezeigt wird.
Das Symbol unten links im Programmbaum steuert den Start und das Ende des Programms,
Klicken Sie auf das Symbol , um das Programm zu starten, klicken Sie auf das Symbol
, um das Programm zu unterbrechen.
Sie können das Programm jederzeit unterbrechen oder stoppen, während es läuft.
Tippen Sie auf Symbol
, um den Programmablauf zu starten, der Cursor folgt automatisch dem Befehlsblock,
Klicken Sie auf das Symbol
, um die automatische Verfolgung des laufenden Programms zu aktivieren, und es ist standardmäßig eingeschaltet.Das graue Symbol bedeutet, dass die Funktion aktiviert ist, während das blaue Symbol bedeutet, dass die Funktion deaktiviert ist.

Das Programm ausführen#
Beim Ausführen des Programms wird geprüft, ob der Startpunkt des Programms mit dem aktuellen Punkt des Roboters übereinstimmt. Wenn dies nicht der Fall ist, fährt der Roboter zunächst zum Startpunkt, wie in der Abbildung gezeigt. Der Roboter am Startpunkt wird im 3D-Modell angezeigt (graue Anzeige). Klicken Sie auf die Schaltfläche „Zum Bewegen gedrückt halten“ und der Roboter bewegt sich zum Startpunkt.

Sobald sich der Benutzer zum Startpunkt bewegt hat, klicken Sie erneut auf die Schaltfläche , um das Programm auszuführen. In der Abbildung unten kann die Laufzeit des Programms unten links im Programmbaum angezeigt werden, die Echtzeit-Haltung des Roboters kann im 3D-Modell beobachtet werden und der aktuell ausgeführte Funktionsblock kann links im Programmbaum angezeigt werden. Klicken Sie auf die Steuerungsschaltfläche unten, um das Programm anzuhalten, fortzusetzen und zu stoppen.

Einstufiges Programm#
Klicken Sie auf das Symbol , um das Programm schrittweise auszuführen. Beim Einzelschritt wird zunächst der Startpunkt des Programms geprüft und der Roboter an die Startposition des Programms gefahren. Jedes Mal, wenn Sie auf das Symbol
klicken, wird das Programm einen Funktionsblock nach unten ausgeführt. Wenn Sie auf die Schaltfläche
klicken, verlässt das Programm den Einzelschrittmodus und läuft kontinuierlich weiter. Das Programm kann angehalten und im Einzelschrittbetrieb fortgesetzt werden. Wenn Sie auf das Symbol
klicken, führt das Programm eine Rückwärtsbewegung aus und der Roboter fährt zum vorherigen Punkt zurück; die Rückwärtsbewegung gilt nur für den Bewegungsfunktionsblock.
Wenn Sie auf die Schaltfläche Stopp klicken, wird das Programm angehalten und der Einzelschrittstatus verlassen.

Haltepunkt#
Unterstützung der Breakpoint-Debugging-Funktion, die Programmausführung wird an der Breakpoint-Position angehalten und in einen Einzelschrittmodus versetzt.
Der Benutzer kann Haltepunkte im Programmbaum und im Skript-Editierbereich setzen, indem er auf den linken Bereich der Zeilennummer des Programmbaums oder auf den linken Bereich der Zeilennummer des Skripts klickt, um den Haltepunkt zu setzen; durch erneutes Klicken auf den Haltepunkt wird der Haltepunkt aufgehoben. Durch Anklicken des Symbols unter der Schaltfläche können alle vom System gesetzten Haltepunkte aufgehoben werden.

Wenn das Programm bis zum Haltepunkt läuft, wird es angehalten und in den Einzelschrittmodus versetzt, wie in der Abbildung gezeigt. Wenn Sie auf die Schaltfläche klicken, wird das Programm in einem einzigen Schritt ausgeführt (der Script-Funktionsblock wird in einer einzigen Zeile ausgeführt); wenn Sie auf die Schaltfläche
klicken, läuft das Programm weiter, bis der nächste Haltepunkt erreicht wird oder das Programm endet.
Im manuellen Modus kann der Benutzer jederzeit während der Programmausführung Haltepunkte setzen oder abbrechen.
