Achskonfiguration Achse eins

  • Hallo,
    habe da ein Programm das ich auf zwei Positionen fahre die um 180° gedreht sind,
    habe es mit einigen kleineren Programmen so gemacht das ich die Achskonfiguration abgeschaltet habe, jedoch funktioniert das nicht mit allen Programmen.


    Andere ich die Achskonfiguration der Achse 1 endsprechend passt es natürlich,
    nun zu meiner Frage.:
    kann ich die Robtargets ca. 300 per Roboter für die Achskonfiguration Achse 1 berchnen lassen, bzw. zu ändern?


    Danke :beerchug:
    Norbert G

  • ANZEIGE
  • Hallo Norbert G,
    das würde mit der Software von ABB funktionieren. (ProgammMaker)
    Aber so ansich fällt mir spontan keine sinnvolle Berechnungsmöglichkeit dazu ein.
    Um allen Übel aus dem Weg zu gehen würde ich mit ConfJ/ConfL diese Positionen anfahren lassen und über die Funktion CRobT neu einlesen lassen. Könnte man alles in einem kleinen Programm realisieren und dann selbsständig durchlaufen lassen.


    Mit freundlichen Grüßen


    robotic74

    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!

  • Hallo,


    um die Achskonfiguration (oder Teile davon) innerhalb eines robtargets auf einen bestimmten, festen Wert zu setzen, würde ich versuchen mit einem Editor der Suchen/Ersetzen mit regulären Ausdrücken unterstützt (UltraEdit?), den entsprechenden Wert dort einzutragen.
    Da reguläre Ausdrücke etwas "gewöhnungsbedürftig" sind, muß man sich allerdings damit zunächst ein bisschen beschäftigen (...mal danach googlen).


    Gruß
    Rainer

  • Hallo,
    danke für eure Antworten, aber das ist genau das was ich bisher mache,
    ich möchte nach änderung im Programm, die Werte aller 300 rotargets vom Roboter ändern.


    Beispiel was ich mit Ultraedit Suchen Ersetzen mache:
    MoveJ[[-816.12,77.19,387.62],[0.350851,-0.027305,0.693579,0.628575],[-1,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1200,z50,t_Pu_505;
    ----
    Zone 2 nach 1 180°nach links


    wert der Achse 1 (CF1)
    von -2 auf 0
    und -1 auf 1


    aber die möchte ich mit drm Roboter machen möglichst in Automatik.


    Oder die Achkonfiguration nur für die Achse 1 abschalten, aber die ist meines wissens auch nicht möglich.


    mfg
    Norber

  • Hallo Norbert,


    auch auf die Gefahr hin, dass ich dich missverstehe:
    Ich meinte eigentlich alle 300 robtargets (bzw. Befehle mit robtargets) wenn möglich zu markieren und dann das Suchen/Ersetzen (durch den geschickten Einsatz regulärer Ausdrücke ;)) auf die gesamte Markierung anzuwenden, also alle 300 robtargets mit einem (oder zwei) Durchläufen zu ändern, nicht 300mal einzeln...


    Wenn du das auch so gemeint hast, dann bitte meine Antwort ignorieren.... :lipsrsealed:


    >Achskonfiguration nur für die Achse 1 abschalten
    wüsste nich dass das geht...


    Gruß
    Rainer

  • Hallo Norbert


    Du kannst die Achskonfiguration ändern indem du


    1. Die Roboterpositionen einen Namen gibst. zB
    p10
    Wahrscheinlich ist es besser ein Array mit Robtargets anzulegen dann kannst du ni der
    Schleife arbeiten.


    2. p10 muß unter Datentypen-> Robtargets->Decl-> von const auf speichernd einstellen
    sonst kannst du nicht schreibend auf die Position arbeiten.
    Beim runterblättern kannst du die einezelnen Teile des Robtargets ansehen.


    3. im Programm kannst du dann die Achskonfig mit
    p10.Robconf.cf1:=1; einstellen
    Mit RobConf bin ich mir nicht sicher --- hab keinen Rob zur Hand




    mfG Burlibua

  • Guten Morgen,
    ich bin neu in diesem Forum , habe aber großes Interesse für ABB_Roboter.
    für ihren Fall habe ich einen Tip:


    Wie ich sehe , arbeiten sie mit Wobj0(Default=Basis)
    Wenn sie die Positionen nur um einen Winkel (180° drehen wollen),
    dann gibt mehrere möglichkeiten.
    Eine davon:


    Sie Erstellen ein neues Wobj(z.B Wobj_180) Pers


    mit folgenden Code erstellen sie ein Wobj ,welches von Basis um einen bestimten Winkel gedreht ist.
    !_________________________________________
    Wobj_180:=Wobj0;
    ! Einlesen der original Rotationen
    reg1:=EulerZYX(\X,Wobj0.oframe.rot);
    reg2:=EulerZYX(\Y,Wobj0.oframe.rot);
    reg3:=EulerZYX(\Z,Wobj0.oframe.rot);
    !________________________________
    reg3:=reg3+180;
    Wobj_180.oframe.rot:=OrientZYX(reg3,reg2,reg1);
    ! neue Rotation mit Orient berechnen.
    Das selbe können sie auch mit verschiebungen machen.


    Jetzt können sie die alten Robtarget in abhängikeit vom Wobj_180 ,
    um 180° gedreht anfahren.


    N A C H T E I L:
    Bei jeder >Position müssen sie das Wobj nachfügen::MoveJ[[-816.12,77.19,387.62],[0.350851,-0.027305,0.693579,0.628575],[-1,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1200,z50,t_Pu_505\WObj:=wobj_180;
    ;"""


    Empfehlung:
    jeder Move_Befehl bekommt ein Wobj ( z.B Wobj_Arbeit)
    MoveJ[[-816.12,77.19,387.62],[0.350851,-0.027305,0.693579,0.628575],[-1,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v1200,z50,t_Pu_505\WObj:=wobj_Arbeit;


    Das Wobj_Arbeit kann man jederzeit umschreiben.
    Wobj_Arbeit:= wobj0;(defaultwert von ABB)
    Wobj_Arbeit:= wobj_180;
    Wobj_Arbeit:= wobj_180_500_X;
    Wobj_Arbeit:= wobj_180_700_Y;
    und schon bewege ich mich im Wobj_180 oder wobj_180_500_X oder wobj_180_700_Y.
    So können alle Positioen bleiben , sie befinden sich nur in verschiede Wobj.

  • burlibua


    Hallo,
    und vielen dank für euer anteinahme.


    leider funktioniert dies "p10.Robconf.cf1:=1;" nicht so ohne weiteres, denn ich müsste auch in diesem
    fall erst jede Position auslesen um den wert entsprechend zu ändern.


    Das Ganze mache ich bereits in einem Macro (Wordmacro) ob es eine Benannte oder * Pos ist,
    jedoch wüsste ich nicht wie ich dies per Roboter auslesen sollte.


    vielen Dank
    Norbert

  • @KukAbb


    Hallo,


    Ich Arbeite bereits mit Wobj,
    aber Ihre Idee denke ich könnte sehr gut funktionieren,
    auch vielen dank für den Code.
    Das WOj werde ich vor der bearbeitung von Pos1 oder Pos2 zuweisen z.b. wobj_pos1 o. wobj_pos2.


    Versuche es in diese Woche mal zu testen und gebe euch Rückmeldung.


    Ciao
    Norbert

  • Da bin ich wieder,
    hab mich da mit dem Wobj wohl zu früh gefreut bzw. nicht nachgedacht.


    Ich arbei ja bereits mit Wobj, das sich auf jedes einzelne Werkzeug bezieht und diese
    sind ja schon um 180° gedreht, und genau da liegt ja das Problem,
    das die Achskonfiguration der Achse 1 in diesem fall mucken macht.


    Gruß
    Norbert

  • Hallo NorbertG


    Ich habe vorhin schon angedeutet daß du ein Array anlegen sollst.



    Definiere ein Feld von robtargets und dann kannst du in einer Schleife arbeiten


    for i from 1 to 10
    robtargetfeld[i].robconf.cf1:=1: oder so
    MoveL (robtagetfeld[i].............................
    EndFor


    Oder wenn nicht nur Movel verwendest dann zumindest



    for i from 1 to 10
    robtargetfeld[i].robconf.cf1:=1;
    EndFor


    Proc Bearbeiten
    MoveL(robtargetfeld[1]................
    MoveL(Robtargetfeld[2]........
    MoveJ(Robtargetfeld[3]......
    ...........
    EndProc



    mfG Burlibua



    .





    mfG Burlibua

  • Hallo,
    ich bin inURX auch noch am grübeln.
    Die beste Lösung ist aber immernoch alle Robtargets mit Name zu deklarieren.
    Dann kannst Du über den Zugriff auf den Datentypinhalt geziehlt den Conf.wert
    für Achse 1 ändern.
    Ich glaube die meißten hier programmieren eh' offline und erhalten somit für jedes
    Target einen Namen im Programm. Es ist halt doch eine andere Welt, wenn man
    wie im Mittelalter in der Kabine steht und PU programmiert. Mit Instruction 1 1
    kriegste halt jedesmal ein MoveJ *, und das * kannste in Automatik nicht manipulieren.


    msc

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