Dynamischer Aufruf von robtarget-namen

  • Hallo zusammen,


    ich möchte mit einem 6400 ein bestimmtes Raster an Punkten anfahren (8x8 Punkte). Der Benutzer soll vorher via TPReadNum die Position auswählen können. Nun gibt es ja die Möglichkeit das ganze via TEST-Funktion anzufahren, also folgend:



    Das ganze wird natürlich schnell sehr groß. Nun meine Idee - lässt sich der robtarget-name auch dynamisch erzeugen?
    Also irgendwas in die Richtung:


    Code
    VAR num key_in;
    		Var num messpos;
    		TPErase;
    		TPWrite "Messbereich auswählen";
    		TPReadNum messpos, "Bsp: 11 für 1.1";
    		TPErase;
    		MoveJ T40R+ValToStr(messpos),v300,fine,tool0;


    Passende Robtargets wären vorhanden, allerdings frisst der Roboter den Syntax nicht. Hat einer von euch schonmal was in die Richtung gemacht und kann mir einen Fingerzeig geben?

    Einmal editiert, zuletzt von ABB-Nutzer ()

  • ANZEIGE
  • Hallo ABB-Nutzer,


    wir haben so was vor längerer Zeit schon einmal gemacht. Allerdings habe ich den kompletten Syntax jetzt nicht vorliegen, daher einfach mal die prinzipiellen Schritte:


    TPReadNum messpos, "Bsp: 11 für 1.1";
    !Wandeln des num-Wertes von messpos in einen String;
    stNummer:=NumToStr(messpos,0);
    !Bilden eines Strings für die Originalnamen der robtargets;
    stRobtarget:="pT40R"+stNummer;
    !Wandeln des Datentyps;
    SetDataVal stRobtarget, pDynamisch;
    !Zusweisen des gewünschten robtargets;
    pZielpos:=pDynamisch;
    !Zielpos anfahren
    MoveL pZeilpos,v300,fine,tool0;


    Es bleibt die Frage ob der 6400 vermutlich mit S4C+-Steuerung die Instruktion "SetDataVal" schon kennt. Wenn nicht habe ich leider keine Lösung. Das Problem, warum deine Syntax nicht funktioniert ist das, das MoveJ keinen Datentyp String erwartet sondern den Datentyp robtarget.


    Gruß
    Thilbi

  • Genau, funktioniert mit allen Datentypen. Wir haben es erstmals auch mit einer IRC5 eingesetzt.


    Noch ein Tipp an ABB-Nutzer. Es hat sich in der Vergangenheit bewährt die Variablennamen mit definierten Buchstaben zu beginnen um eine leichtere Lesbarkeit des Programmes zu erreichen, z. B. n=numerische Var, st=Strings, p=robtargets, v=Geschwindikeiten, ps=pos usw. Wäre auch für dein Progarmm besser.



    Thilbi

  • oder...


    VAR robtarget T40R{4}:=
    [[[-475.03,-302.11,28.28],[0.00490713,-0.00503829,0.999841,0.0164018],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],
    [[-466.57,-186.7,18.6],[0.00313933,-0.00726628,0.999965,0.00289009],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],
    [[-474.8,-55.18,38.38],[0.00490293,-0.00503718,0.999841,0.0164013],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],
    [[-496.97,52.62,42.21],[0.00314396,-0.00726795,0.999965,0.00288774],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
    VAR robtarget pTempPos := [[-474.80,-55.18,38.38],[0.00490293,-0.00503718,0.999841,0.0164013],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


    VAR num key_in;
    VAR string str;
    Var num messpos;
    TPErase;
    TPWrite "Messbereich auswahlen";
    TPReadNum messpos, "Bsp: 11 fur 1.1";
    TPErase;
    TPWrite "Fahre Postion an:"\Num:=messpos;
    pTempPos:=T40R{messpos};
    MoveJ Grundst1,v300,fine,tool0;
    MoveJ pTempPos,v300,fine,tool0;

  • Hallo,


    die Instruktion 'GetDataVal' ist auch bereits in der S4-Steuerung verfügbar, hierzu ist aber die Option "Developer Functions" erforderlich.


    Gruß
    Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

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