Bestehende Punkte auf neue BASE übertragen

  • Hallo,


    habe mit folgendem Problem zu kämpfen,

    es gibt bereits ein Bohrprogramm was einmalig geschrieben wurde und normalerweiße immer gleich abläuft.

    Nun wurde der Roboter über der Werkstück posizioniert.

    Es gibt immer geltende BASE_DATA[1] Koordinaten und dann noch 3 Anfahrtspunkte

    ab da fängt der Roboter zu Bohren.

    Bislang habe ich so versucht, dass ich den Roboter an die gewünschte Punkte anfahren lasse und die Ist-Position in die Punkte übernehme.

    Nun wenn ich danach Programm ablaufen lasse und die Stelle kommt, wo er den Punkt anfahren soll, meckert er wegen dem Softwareendschalter (die sind für Testzwecke alle -358 bis +358)

    Ich vermuhte Mal ich muss das Ganze irgendwie mit Verschiebung von BASE machen , aber nach langem herumprobieren, ist der Fehler immer noch da.

    Könnt ihr mir freundlicherweiße Hinweiß geben, was ich bei der ganzen Geschichte übersehe?


    Vielen Dank im Voraus!

  • Schritt für Schritt zum Roboterprofi!
  • Poste doch mal BASE_DATA[1] und deine drei Punkte

    Dazu noch die Originale zum Vergleich

    Außerdem den Startpunkt (als PTP inklusive Status und Turn)


    Dann habe ich was zum Rechnen

  • Hallo MOM,


    vielen Dank für deine Rückmeldung, anbei die Daten:


    Robotertyp: KR100R3500 PRESS C

    KSS 8.2.16


    TOOL_DATA[2]={X 0.0,Y 0.0,Z 626.812988,A 0.0,B 0.0,C 0.0}


    BASE_DATA[1]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} (Neue Base)



    BASE_DATA[1]={X -508.994812,Y -1698.99194,Z 368.020691,A -90.0279999,B 0.106600001,C 0.0229000002} (alte Base)


    E6AXIS XHOME={A1 0.0,A2 -100.0,A3 120.0,A4 -180.0,A5 -80.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    ____________________________________________________

    P2 (wird als erstes angefahren)

    DECL E6POS XP2={X -.96167,Y 2171.43188,Z -1223.61804,A 20.5126705,B -33.8496399,C -69.3256073,S 6,T 27,E1 -0.000127904306,E2 -0.0002558087,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    Befehl zum Anfahren


    PTP p2 Vel = 50% acc100 Tool[2]: ScheibenFraeser-> Base[1]: Station1

    _________________________________________________

    P1 (wird als zweites angefahren)


    DECL E6POS XP1={X -648.6771164,Y 1015.07104,Z -3430.9244,A 39.540381,B 77.3094406,C -162.7640707,S 6,T 19,E1 0.0,E2 -0.0002558087,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    Befehl zum Anfahren


    PTP p1 Vel = 30% acc100 Tool[2]: ScheibenFraeser-> Base[1]: Station1

    _________________________________________________

    P3 (wird als letztes angefahren)


    DECL E6POS XP3={X -1202.1571164,Y 765.98104,Z -3458.9244,A 145.960381,B 86.3094406,C -55.9340707,S 6,T 19,E1 0.0,E2 -0.0002558087,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    Befehl zum Anfahren


    PTP p3 Vel = 30% acc100 Tool[2]: ScheibenFraeser-> Base[1]: Station1


    ______

    Hermann war für mich leider nicht so einfach genau zu beschreiben, was genau gemeint ist.

    Ich versuche es nochmal kurz zusammenzufassen.


    Wir haben in der Firma ein Programm, was anhand von eingelesenen XML Daten ein KRL Programm generiert. Die Punkte werden da automatisch berechnet, aber sie gelten, wenn der Roboter die gleiche Position beibehält. Wenn er umpositioniert wird, ändern sich ja auch sämtliche Koordinaten und die Punkte werden somit nicht mehr gültig. Deswegen frage ich hier in die Runde welche Möglichkeiten mir da eigentlich zustehen:

    1. Vielleich kann man die Base so einstellen, dass die Punkte die mit dem Programm berechnet werden, trotzdem noch gültig sind,

    2. oder muss ich dann sämtliche Berechnungsformeln so anpassen, dass die einzelnen Punkte nun mit Berücksichtigung der neuen Lage berechnet werden? (wäre ein enormer Aufwand nötig + erweiterte C# kenntnisse)


    Ich versuche jetzt die Option 1, dass ich die Base anderes einstelle, nun kommen Fehler die ich in meinem ersten Post beschrieben habe.


    Ich hoffe damit kann man sich das Problem besser vorstellen.

    Einmal editiert, zuletzt von stalmoro ()

  • die alten Werte habe ich leider nicht bekommen, daher habe ich den alten Wert für XP2 mal selber ausgerechnet basierend auf:


    BASE_DATA[1]={X -508.994812,Y -1698.99194,Z 368.020691,A -90.0279999,B 0.106600001,C 0.0229000002}


    mein Ergebnis:


    Pos2 (old) scheint mir sehr daneben. Vermute, dass mit den Winkeln was nicht stimmt und daher die Position nicht angefahren werden kann


    Bitte alte Pos relative zur alten Base mal angeben

  • P2 (wird als erstes angefahren)

    DECL E6POS XP2={X -.96167,Y 2171.43188,Z -1223.61804,A 20.5126705,B -33.8496399,C -69.3256073,S 6,T 27,E1 -0.000127904306,E2 -0.0002558087,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    Bei mir kommt T 25 raus

    (13 ist die gewählte Konfiguration)


    Schaue dir mal das mal an.

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