Hilfe Abfrage für aktives Werkzeug in Robotstudio

  • Hallo, ich habe ein Problem festgestellt, ich versuche gerade, einen automatischen Werkzeugwechsel in Robotstudio zu programmieren, aber ich vermisse immer noch einen einzelnen Befehl und ich möchte eine IF-Bedingung erstellen, die nach dem aktiven Werkzeug fragt. Wie IF-Werkzeug = drill1 THEN ... ENDIF. Kennt jemand diesen Abfragebefehl?


    Danke für die Hilfe !

    Einmal editiert, zuletzt von IRBHRW6660 ()

  • ANZEIGE
  • Hallo,
    meinst du so?
    Hiermit kannst du Tooldaten, Werkzeugdaten und aktuelle Position abfragen.
    Gib in der


    PERS tooldata temp_tool:=[TRUE,[[0,0,0],[1,0,0,0]],[0,[0,0,0],[1,0,0,0],0,0,0]];
    PERS wobjdata temp_wobj:=[FALSE, TRUE, "",[[0, 0, 0],[1, 0, 0, 0]],[[0,0,0],[1,0,0,0]]];
    PERS robtarget temp_target:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];


    PROC test()
    temp_tool:=CTool();


    temp_wobj:=CWObj();
    temp_target:=CRobT(\Tool:=temp_tool\WObj:=temp_wobj);


    IF temp_tool = drill THEN
    .....
    ENDIF
    ENDPROC


    Hilfe in --> Rapid Instruktionen und Datentypen oder schreibe ctool in den editor markieren und f1 dann kommst du zu hilfe


    Hoffe konnte dir helfen
    Schöne Feiertage
    Gruß Florian

  • Schonmal danke für die Antwort, ja genau den Befehl habe ich gesucht aber dennoch klappt es nicht, er geht immer in das IF rein, egal welches Werkzeug ich ausgewählt habe.


    PERS tooldata SpindeelTCP:=[TRUE,[[244.3,0,219.413],[1,0,0,0]],[67,[0,0,1],[1,0,0,0],0,0,0]];
    PERS tooldata SpindelBohrer1:=[TRUE,[[391.937,0,219.413],[1,0,0,0]],[68,[0,0,1],[1,0,0,0],0,0,0]];
    PERS tooldata temp_tool:=[TRUE,[[244.3,0,219.413],[1,0,0,0]],[67,[0,0,1],[1,0,0,0],0,0,0]];


    PROC main()

    temp_tool:=CTool();

    IF temp_tool=SpindeelTCP THEN Werkzeugwechsel1weg;
    Werkzeugwechsel2greif;


    ENDIF
    ENDPROC


    So sieht momentan das Programm aus, es scheint mir als würde die Abfrage immer TRUE ergeben aber es kann ja nicht sein, dass er alle Werkzeuge gleichzeitig trägt. Ich habe unter dem Raster "Home" als Werkzeug "SpindelBohrer1" angegeben dennoch führt er den Befehl aus, mache ich etwas falsch?


    Schöne Grüße!

  • Sorry,
    Ich hab das then übersehen
    Die Antwort ist immer wahr weil genau dieses Werkzeug aktiv ist...tool wird beim nächsten fahrbefehl getauscht wenn du ei anderes Werkzeug verwendest...ansonsten wird es vermutlich das erste sein das eingelesen wird... Nur eine Vermutung nach 1em Glas zuviel...?

    Einmal editiert, zuletzt von IsSchoGuat ()

  • Bin nicht überzeugt, dass man zwei Records auf Gleichheit aller Inhalte überprüfen könnte.


    Man kann aber die Namen vergleichen. Hilfreich dazu sind die Funktionen ArgName() (um den Namen herauszubekommen, wenn man ihn an eine andere Routine übergibt bzw. bei der Zuweisung temporär zu speichern) und GetSysData(....\ObjectName) zum Herausfinden des aktuell aktiven Tools.


    Strings kann man auf Gleichheit überprüfen. Allerdings wäre mir Dein Ansatz zu "wurschtig" an der Stelle. Ist ja nicht gesagt, dass das im Programm aktive Tool auch physikalisch am Roboter ist, da braucht ja nur mal einer unglücklich eine Routine aufrufen mit einem Bewegungssatz, der das Tool benutzt, und schon meint der Roboter, dieses Werkzeug wäre "dran". Ich würde die Tools auf jeden Fall extern verwalten.


    Grüße,
    Michael

  • Hi,
    Da hast du natürlich recht das wäre etwas schlampig... das habe ich nicht berücksichtigt.
    Wir verwenden normalerweise zusätzlich eine Hardwarekennung am Greifer.
    Assoziieren Werkzeugkodierung mit einem Tool und bei Falschanwendung Fehlermeldung.


    Gruß

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