Roboterposition

  • Nachdem ich bereits das ganze Forum durchsucht und nichts gefunden habe, wende ich mich an euch alle:
    Was ich suche, ist die aktuelle Roboterposition mit dem aktuellen Tool und der Base 0 (Nullframe), egal, welche Base gerade angewählt ist. Die Systemvariable $Pos_act gibt mir ja nur die aktuelle Position bezogen auf Tool und Base aus. Gibt es eine Variabele oder irgendwo in den datfiles einen Wert bzw Frame, den man auslesen kann. Wenn ja, wo ist dieser versteckt?
    Mir würde auch helfen, wenn ich die aktuelle Position der Sicherheitskugeln (TOOL) eines Safe-Roboters irgendwo auslesen könnte. Das muss doch möglich sein, da diese ja bei erreichen der Raumzelle - unabhängig von der Base - ein Signal geben.


    Wer kann mir weiterhelfen?

  • Schritt für Schritt zum Roboterprofi!
  • Hallo


    aus dem gedächnis geschrieben sollte aber so passen


    ;Pos mit TOOL und BASE $Nullframe
    PosT0B0 = $BASE:$POS_ACT:$TOOL
    ;Pos mit Base Nullframe und Aktuellen TOOL
    PosTAkt = $BASE:$POS_ACT
    ;Pos mit Kugel als Tol in Base Nullframe
    PosTK1B0 = PosT0B0 : (INV_POS(fKugel1))
    usw.


    musst die Frames der Kugeln selbst aus der Safetykonfigutration rausholen aber so köntest du es machen


    Gruß Loipe

  • Hallo,


    grober Vorschlag:


    $AXIS_ACT (oder $AXIS_INT bei interrupt) auslesen.
    Wenn Du die Info auswerten willst Base 0 Tool 0 auswählen und mit Forward oder Inverse (bin mir grad nicht so sicher)
    in einen Frame / Eine Pos umwandeln.


    Grüße


    Interrupt

  • Hallo, Loipe, hallo, Interrupt.
    Ich habe es laut dem Vorschlag von Loipe probiert, und zwar in der SPS.SUB: POS_TOOL = $BASE:$POS_ACT
    Allerdings führt das zu einem Fehler:
    "Kein Submitprogramm im Kommando Speicher hinterlegt."
    Ich brauch es aber dort, da ich die aktuelle Position zu jedem Zeitpunkt wissen möchte.
    Was mache ich falsch?
    (POS_TOOL wurde als Frame in der config.dat deklariert)

  • Hallo, Loipe,
    ich habe es gelöst, indem ich POS_TOOL = BASE_Data[30]:$POS_ACT verwendet habe (BaseData30: 0-Werte)
    LÄUFT!
    Danke an alle.
    Kuno

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden