Hallo,
Ich will im SPS.Sub die aktuellen Koordianten in Welt ermitteln - unabhängig von Base, Tool.
Hat jemand eine Idee?
Hallo,
Ich will im SPS.Sub die aktuellen Koordianten in Welt ermitteln - unabhängig von Base, Tool.
Hat jemand eine Idee?
hi ...
Pos_Aktuell=$nullframe
$Tool=$nullframe
$Base=$nullframe
Pos_Aktuell=$world
So mal auf die schnelle....
Hi, Danke für die schnelle Antwort. Dann wird aber im SPS.sub das base/Tool umgeschaltet? Dies soll nicht passieren.
Das Programm soll mit der aktuellen Base/Tool weiterarbeiten.
Grüße
….die aktuellen Koordianten in Welt ermitteln …..
mit aktuellen Koordinaten meinst Du wohl aktuellen TCP zu $WORLD als Bezugspunkte?
dann wäre INV_POS zusammen mit Geometrischer Operator die Lösung.
Beispiel aus der Original-Doku:
Berechnung der aktuellen Flanschposition (im Hauptlauf) in Bezug auf das
WORLD-Koordinatensystem $WORLD
FlangePos=$BASE_C:$POS_ACT:INV_POS($TOOL_C)
Noch abfangen nicht vergessen mit ON_ERROR_PROCEED, wenn Prog abgewählt oder zurückgesetzt wird, dass SPS.sub nicht abschmiert.
Gruss SJX
Hallo SJX,
Problem ist, dass bei Steuerungshochlauf keine Base aktiv ist.
Dann tritt folgender Fehler auf : BASE_C Wert ungültig.
Das ist ganz normal.
Auch bei Programm zurücksetzen und Programm abgewählt hast Du diese Problematik.
Wurde hier im Forum auch schon mehrfach behandelt.
Darum fang den Fehler ab z.B. mit ON_ERROR_PROCEED. Gibt's ab Softwareversion V5.5.
Findest dazu in neueren Manuals auch Beispiele, was Du damit alles machen kannst.
Andere Variante wäre mit Varstate. Ist aber nicht der schnellste Befehl und meiner Meinung nach nicht 100% zuverlässig im Submit.
Gruss SJX
Hallo SJX,
danke erstmals. Gibt es dann keine Möglichkeit die Koordinaten nach Steuerungshochlauf zu ermitteln?
Koordinaten $World zu was? $Flange? Tool_x ?
Dass sie Dir Koordinaten rausgeben kann, brauchst Du 2 vorgegebene Bezugskoordinatensysteme!
KUKA verwirft bewusst in gewissen Situationen $Tool wie $Base.
Dass Du zwingend diese vorgibst, bevor Positionen gefahren werden. Sonst besteht die Gefahr, dass evtl. alte Vorgaben zu falschen Bewegungen führen können und Du somit crashest.
Du musst sogar damit rechnen und eigentlich berücksichtigen, dass Roboter nach Hochlauf nicht justiert ist.
Dann hättest Du nicht mal Achswinkel zum rausschreiben und Submit würde auch da stoppen.
Heisst für mich, keine Chance, um Fehlerhandling rumzukommen, wenn Du dies sauber machen willst.
Was willst Du extern mit diesen Koordinaten machen?
Hi,
ich will auswerten ob der Roboter in gewissen Bereichen steht. Dies ist aufgrund der Anzahl nicht über die Arbeitsbereiche möglich.
Gibt es eine Möglichkeit anhand der Achsposition (Gradzahlen) die Weltkoordinaten im SPS.SUB zu berechnen?
Die nicht sicheren Arbeitsbereiche $WORKSPACE[x] sollten frei beschreibbar sein aus Programm / Submit. Also keine Grenze.
Mit der Forward-Funktion kann man aus Achswinkeln Koordinaten rechnen bezogen auf aktuelle Base / Tool.
Hi,
ich will nicht mit den Arbeitsbereichen arbeiten.
Wie funktioniert dies mit der Forward-Funktion?
Kann man hieraus Welt berechnen?
Wie wäre es den Abschnitt im Submit nur dann anzuschubsen wenn Werte in den Koordinaten stehen?
Hallo Roland,
die Funktion muss auch funktionieren wenn kein Koordinatensystem angewählt ist (z.B. nach Steuerungshochlauf).
Danke!
Nach Steuerungshochlauf steht da aber nix drinn.
Nach der SAK-Fahrt mit PTP $POS_ACT schon.
Der Roboter bewegt sich dabei ja nicht und steht immer noch an derselben Stelle.
Hallo,
ist es möglich eventuell die Achswerte $AXIS_ACT_MEAS die ja stänig anstehen in World umzurechnen?
Danke!
Guten Abend,
Hat jemand eine Lösung die Achskoordinaten in Welt umzurechnen?
Danke!
Wenn Du beim Steuerungshochlauf $TOOL = $NULLFRAME und $BASE = NULLFRAME setzt, kannst Du mit FORWARD() die Weltkoordinaten auslesen.
Hallo Robotnik,
Das geht aber nicht im Submit Interpreter. Oder?
Hallo, warum abhängig von der Betriebsart? Kann man dies nicht im Init Fold ausführen?
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können