Wert für externe Achse im rob-/jointtarget über Variable festlegen

  • Moin,


    ich habe als Beispiel folgendes jointtarget:


    PERS jointtarget jtTest := [ [ 0, -40, 0, 0, 110, 0], [ VARIABLE, 9E9, 9E9, 9E9, 9E9, 9E9] ];


    Den Wert für eax_a möchte ich gerne per Variable festlegen. Probiert habe ich folgendes:


    PERS num Variable := -7230;


    Resultat: Syntaxfehler(137): Erwartet num, aber gefunden: identifier

    _____________________________________________________________________________________________________

    Nächster Versuch mit exjoint:


    PERS extjoint Variable := [ -7230, 9E9, 9E9, 9E9, 9E9, 9E9];


    PERS jointtarget jtTest := [ [ 0, -40, 0, 0, 110, 0], [ VARIABLE.eax_a, 9E9, 9E9, 9E9, 9E9, 9E9] ];


    Resultat: Syntaxfehler(137): Erwartet num, aber gefunden: identifier ":" identifier

    _____________________________________________________________________________________________________


    Also so richtig schlau werde ich nicht aus der Fehlermeldung. Wie sieht den Datentyp "identifier" aus? Habe nichts dazu gefunden.


    Vielen Dank und beste Grüße


    IR

  • ANZEIGE
  • In die Deklaration einer Positionsvariable kannst du keine Variable integrieren.

    Hätte ich noch nirgends gesehen, weder bei Roboter noch bei anderen Hochsprachen.


    Du müsstest die Positionsvariable direkt vor dr Verendung über deine Variable Beschreiben.

    jpTest.eax.e1 = Variable. Syntax der Achsposition müsste man noch einmal in der Doku Datentypen nachlesen, da bin ich mir nicht ganz so sicher ob der passt.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • So herum schreibst du aber den Wert der externen AchseA in die Variable Test1 ;)


    Wenn du die Teachposition manipulieren willst, muss es so aussehen:


    Code
    PERS jointtarget jtTest := [ [ 0, -40, 0, 0, 110, 0], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ];
    PERS num nVariablerWert := 123;
    
    jtTest.extax.eax_a:=nVariablerWert;
    
    MoveAbsJ jtTest....

    = ABB erfahren, KUKA Neuling =

  • muss eine Konstante sein, sonst wirds nicht gehen, dass du in die Definition eine Variable bringst (CONST)


    Sobald die Position geteacht wird, wird allerdings meines Wissens der Aktualwert über die Variable geschrieben.

  • Das Jonittarget muss keine Konstante sein, PERS oder VAR funktionirt:


    PROC Grip_ClampClose(num nGripDist)

    VAR jointtarget jGripPos;

    AccSet 100,100;

    PathResol 80; ! Bahnplanung grober damit Bewegung schneller wird (nur für Zusatzachse!)

    jGripPos:=CJointT();

    jGripPos.extax.eax_a:=nGripDist;

    MoveAbsJ jGripPos, vExtAxis,fine, tGripper;WaitRob \InPos;

    PathResol 100;

    .....

  • Da der Roboter im o.g. Beispiel in der Greifposition steht, ist CJointT() für diesen Fall ok.

    Ohne die Option 610-1 Independent Axis muss man halt immer die anderen Achsen mit CJointT() berücksichtigen und es wird tricky wenn man z.B. die Zusatzachse während einer laufenden Bewegung des Roboters bewegen möchte.

    Mit der Option fährt man die Achse unabhängig mit "IndMove" und mus sich um die anderen Achsen keine Gedanken mehr machen.

    Dafür hat man aber auch Probleme, die man ohne nicht hat - siehe hier:


    Independent Axis

    Einmal editiert, zuletzt von dust2 ()

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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