Sprung in eine Zeile (Layer)

  • Bin nun auch wieder am Rechner, es scheint ja geklärt zu sein/ werden. Viel Erfolg!

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • ANZEIGE
  • Bin nun auch wieder am Rechner, es scheint ja geklärt zu sein/ werden. Viel Erfolg!

    Hallo


    Ich bin nah zur lösung nur will ich die Movelgo Movejgo variante auch haben.Das ist viel einfacher von seite NX.Ist nicht so viel änderung und muss ich die ganze aufbau nicht ändern.

  • Moin, alles mit Case aufbauen ist aber sehr aufwendig.


    Ich würde mir einen eigenen Bewegungsbefehl programmieren.


    z.B. SMoveLGO


    der Befehl würden dann z.B. so aussehen:


    SMoveLGO p510,vSchnell,z10,tGreifer\WObj:=wSchublade,510;


    Ich würde so vergehen, das ich die gesuchte Positionnummer in den neuen Bewegungsbefehlen suche.

    d.h. bPosSearchRun=TRUE setzen und nPos_Search auf die gesuchte Positionsnummer vorbesetzen.

    Danach in der Bewegungsroutine mit den vielen SMoveJG die position suchen.

    Der Programmzeiger wird die Befehle durchgehen und die Position vergleichen, ist die nicht identisch wird einfach mit RETURN herausgesprungen, wenn er identisch ist wird an der Position eingerastet

    und die Variable bPosSearchRun auf FALSE gesetzt. Jetzt wird das Programm an der Stelle fortgesetzt.


    Beispiel:

    bPosSearchRun:=TRUE;

    nPos_Search:=530;


    SMoveLGO p510,vSchnell,z10,tGreifer\WObj:=wSchublade,510;

    SMoveLGO p520,vSchnell,z10,tGreifer\WObj:=wSchublade,520;

    SMoveLGO p530,vSchnell,z10,tGreifer\WObj:=wSchublade,530;

    SMoveLGO p540,vSchnell,z10,tGreifer\WObj:=wSchublade,540;

    SMoveLGO p550,vSchnell,z10,tGreifer\WObj:=wSchublade,550;


    Bei der Positions Nr. 530 würde das Programm fortgesetzt.


    Quelltext:

    MODULE ABB_LIB(SYSMODULE,NOVIEW)


    PROC SMoveLGO(

    robtarget ToPoint,

    speeddata speed,

    zonedata zone,

    INOUT tooldata tool

    \INOUT wobjdata WObJ,num ActPos)


    IF bPosSearchRun=TRUE AND nPos_Search=ActPos

    !Wenn IST-Positionen gleich Soll-Position dann Pos. anfahren

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,goPosNr\Value:=ActPos

    ENDIF

    bPosSearchRun:=FALSE;

    ELSE

    !Wenn IST-Positionen ungleich Soll-Position zurück und dann zur nächsten Pos.

    RETURN ;

    ENDIF

    !

    ELSE

    ! Normale Bewegung ohne bPosSearchRun

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,goPosNr\Value:=ActPos;

    !

    ENDIF

    BACKWARD

    ! Backward

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,goPosNr\Value:=ActPos;

    ENDPROC


    ENDMODULE


    Gruß

    Michael

  • Danke dir auch micha

    Robiman auch


    Die schaut auch sehr gut aus.


    PROC SMoveLGO(

    robtarget ToPoint,

    speeddata speed,

    zonedata zone,

    INOUT tooldata tool

    \INOUT wobjdata wobj,num ActPos)

    nPos_Search:=ActPos; ! da musste ich gleich machen sonst wird nie gleich,ablauf mäsig wäre so ok

    ! bPosSearchRun:=TRUE werde beim main menü setzen wenn abgebrochen wird dann muss man sowieso main fahren.Am program ende wird auf FALSE gesetzt.


    IF bPosSearchRun=TRUE AND nPos_Search=ActPos THEN


    !Wenn IST-Positionen gleich Soll-Position dann Pos. anfahren

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,GO_4_Reserve\Value:=ActPos;

    ENDIF

    IF bPosSearchRun=FALSE THEN

    !Wenn IST-Positionen ungleich Soll-Position zurück und dann zur nächsten Pos.

    RETURN;

    ! Normale Bewegung ohne bPosSearchRun

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,GO_4_Reserve\Value:=ActPos;

    !

    ENDIF

    BACKWARD

    ! Backward

    MoveLGO ToPoint,speed,zone,tool\WObj?WObJ,GO_4_Reserve\Value:=ActPos;

    ENDPROC

    2 Mal editiert, zuletzt von padostms ()

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