Fanuc Positions Register

  • Moin zusammen!


    Ich bin noch relativ neu in dem Business und bin da auf ein Problem gestoßen. Wär super wenn mir jemand helfen könnte! =) Der Roboter soll eine Schweißnaht auftragen.

    R[1]=0

    R[2]=5

    R[5]=7


    PR[1]=P[1]

    PR[2]=PR[1]

    PR[2,1]=PR[1,1]+R[2]


    LBL[1]

    L PG[1] ... CMT100

    L PG[2] ... CMT100


    R[1]=R[1]+1


    PR[1,2]=PR[1,2]+R[5]

    PR[2,2]=PR[2,2]+R[5]


    ***


    IF [R2] < R[4], JMP LBL [1]

    .

    .

    .

    [End]


    *** dort hatte ich stehen: PR[1]=PR[2]

    PR[2]=PR[1]


    Damit wollte ich das sich die Positionsregister ändern, damit der Roboter dort weiter fährt wo er stehen geblieben ist (''PR[2]+R[5]'') zu ehemalig PR[1]+R[5].

    Kann man bei so einem Durchlauf irgendwie das entstandene PR[2] so umwandeln dass es beim nächsten Durchlauf der Schleife zu PR[1] wird?

    (Das Programm soll aussehen wie eine "Snake-Schlange" allerdings will ich nur einen Punkt ("Startpunkt" hier P[1]) vorgeben ohne das die Strecke P2 zu imaginären P3 Auswirkungen hat.


    Würde mich sehr freuen, wenn mir hiermit jemand helfen könnte! <3

  • AD
  • Servus,


    ich habe noch nie geschweißt mit dem Roboter das vorne Weg! Aber wie ich das sehe machst du mit der Programmierung mehr eine Zickzack Bewegung wie ich das sehen.

    Vielleicht habe ich auch nicht kapiert was du genau möchtest aber wie unten Beschrieben müsste es passen. Ich bin mir auch sicher das es da schon was fertiges von Fanuc gibt?


    Tipp:


    PR[1]=LPOS


    mit LPOS schreibst du dir die aktuelle Position in das Positionsregister.


    PR[1]=P[1]

    PR[2]=PR[1]

    PR[2,1]=PR[1,1]+R[2] ; PR[2,1]=PR[2,1]+ R[2] sieht richtiger aus. macht aber nichts an deinem Problem.


    *** dort hatte ich stehen: PR[1]=PR[2]

    PR[2]=PR[1]


    Da schreibst du alle PR[ ] auf den gleichen Wert und du kommst nicht mehr zurück auf deinen X Wert.


    Vorschlag:


    LBL[1]


    L PG[1] ... CMT100


    PR[1,2]=PR[1,2]+R[5]

    PR[2,2]=PR[2,2]+R[5]


    L PG[2] ... CMT100


    R[1]=R[1]+1


    IF [R2] < R[4], JMP LBL [1]

    .

    .

    .

    [End]


    Erklärung: Beim ersten Durchlauf fährt der Roboter auf PR[1] was gleichbedeutend mit deinem P[1] ist. Danach fährt er PR[2] an, in Y-Richtung +5. Dann fährt er beim 2. Durchlauf auf PR[1], auf den alten x- Wert und Y+5. PR[2] fährt auf den verschobenen X Wert und Y +5. Da müsstest du eine Schlangenlinie hin bekommen.


    Gruß

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now