Skip Condition

  • Schönen Abend zusammen,


    wie bringe ich unseren R2000i dazu nach einem Bewegungsabbruch per Skip-Condition nur in einer Achse, dem angewählten U-Frame entsprechend, weiterzufahren. Bin für jeden Tipp, oder im optimalfall einem Programmbeispiel, dankbar.


    Freundlichst und erwartungsvoll (ist nämlich mein erster Besuch in einem Forum)
    Micha

  • ANZEIGE
  • hallo
    wie kommt den der Bewegungsabruch zustande. :nocheck:


    gruß
    michael

  • Hi,


    ich würde das so ausführen:


    !Aktuelle Position abspeichern;
    UNLOCK PREG;
    PR[10]=LPOS;
    !Verfahren in Z-Achse 500mm hoch;
    PR[10,3]=PR[10,3]+500;
    LOCK PREG;
    L PR[10] 2000mmm/sec FINE;


    oder:
    !Verfahre inremental;
    L PR[10] 2000mmm/sec FINE INC;


    auf alle Fälle solltest du das Handbuch studieren :zwink: das hilft


    MfG heini

  • Hallo michaelm,


    wenn du die Funktion Skip Condition verwendest, bricht der Robbi die stattfindende Bewegung, (nach einem Digitalen Input z.B.) vor erreichen der programmierten Position ab, und führt den nächsten satz aus.
    In meinem Fall will ich damit kreisförmige Teile die bereits Bohrungen besitzen so greifen das ein Passtift sich in eine der Bohrungen einfädelt um das Teil exakt in die nächste Maschine einlegen zu können wo die nächste Bohrbearbeitung erfolgt. Das Teil suche ich per Robotbewegung nach Bohrungen ab wird eine gefunden spricht ein Sensor an und der Roboter fährt Z- Greifer zu. Sollte er jedenfalls ;)


    danke fürs Interesse Wolfgang

  • Moin Heini707,


    danke für den Tipp werds nachher gleich ausprobieren. Hab im Antwortschreiben an michaelm meine Aufgabe etwas genauer dargestellt.
    Wenn die Steuerung nach ihrem Bewegungsabbruch durch einen DI und Skip Cond. diese Pos. in einem PR speichert. müssts funktionieren.
    Incremental gehts, denke ich, nicht da ich ja PR[10] eine Pos. zuweisen muss und der Roboter zwar über die dritte Achse Z- fährt aber in 1+2 Achse auf seine im PR festgelegten Koordinaten also schräg nach unten. Und er soll nur da wo er stehengeblieben ist und nur in Z verfahren.


    Das Handbuch ist ein mehr als 1000 Seiten starker Ordner in der ersten Auflage. Ein Spezialist sagte mir mal, bei aus dem asiatischem übersetzten Anleitungen könne man erst ab der 10ten Auflage was damit anfangen :icon_rofl:
    Natürlich studier ich trotzdem darin aber manchmal findet man nicht so schnell das was man schnell braucht.
    Und ab und zu ist man vernagelt.... :zwink:


    Wie gesagt es wird gleich ausprobiert und obs funktioniert oder nicht erfährst du bald.


    Dankeschön und bis denn... Micha

  • Doch, inkrementell sollte es auch gehen,
    aber da muss man selbstverständlich das Positionsregister
    mit lauter Nullen (ausser in Z-Richtung) vorbelegen:


    PR[10,1]=0;
    PR[10,2]=0;
    PR[10,3]=500;
    PR[10,4]=0;
    PR[10,5]=0;
    PR[10,6]=0;
    L PR[10] 2000mmm/sec FINE INC;


    Gruss Hermann
    PS: Der nicht versteht, wie sich diese Programmiertechnik so lange halten kann.

  • Hallo zusammen,
    der Hinweis auf Lpos, von Heini0707, war das was mir fehlte. Hat auch funktioniert allerdings nur im Joint Modus. Wollte aber Linear verfahren und habs jetzt so gelöst.


    17: SKIP CONDITION RI[3]=OFF ;
    18:L P[1] 1deg/sec Fine Skip,LBL[2],PR[100]=LPOS ;
    19: LBL[2] ;
    20: PR[100,3]=PR[100,3]-15 ;
    21:L PR[100] 10mm/sec FINE ;

    Funktioniert Prächtig, Robo sucht sich seine Teile selber, dennoch werd ich den Vorschlag von Hermann auch ausprobieren um zu sehen was damit möglich ist.


    Danke an euch alle :merci:


    Micha


    PS: Ich versteh das schon Hermann. Diese Programmiertechnik ist von hinten durch die Brust ins Auge geschossen und bringt manchen Leuten viel Geld

  • hallo micha
    dein prg hat eine kleine schwäche.
    wenn der roboter nichts findet wird der P[1] bis zum ende angefahren und er springt zum LBL[2]
    dann macht er das gleiche als hätte er was gefunden.
    hatt er nix gefunden wird aber dein PR[100] nicht mit LPOS beschrieben.
    d.h. er nimmt was auch immer dann im PR[100] steht, zieht davon 15mm ab und fährt los!!!
    das LBL[2] sollte an einer anderen stelle sein, wo man eine fehlerbehandlung macht z.b. message "kein teil gefunden"


  • Hallo Rob 76,
    danke für den Hinweis.
    Es ist zwar unwahrscheinlich das er kein Teil findet da, das Förderband reichlich mit Sensoren ausgerüstet ist die in stoppen falls der Nachschub stockt, dennoch sieht das Prog seit heute morgen so aus.



    17: SKIP CONDITION RI[3]=OFF ;
    18:L P[1] 1deg/sec CNT1 Skip,LBL[2],PR[100]=LPOS ACC1
    19: LBL[2] ;
    20: IF RI[3]=ON,CALL GR_FEHLER ;
    21: PR[100,3]=PR[100,3]-15 ;
    22:L PR[100] 10mm/sec FINE ;


    Das heißt ist kein Teil an der Stelle an der er sucht wird er im Vorfeld gestoppt.
    Ist ein Teil da ist der Sensor ON.
    Hat das Teil keine Bohrung wird er nach LBL Sprung gestoppt.
    Dachte noch an einen zweiten Sensor falls der eine kaputtgeht aber das muß dann reichen.


    Safety first, denn unglaublich ist was sich Maschinen ausdenken um ihre Bediener und Programmierer, hinters Licht zu führen :biggrins:


    Ein schönes Wochenende für alle wünscht
    der Micha


    PS: Handbücher sind nicht für Autodidakten geschrieben, sondern für Leute die, die Lehrgänge der Firmen besucht haben und nur mal wieder was nachschlagen wollen.

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