Beiträge von hermo

    Moin,


    prinzipiell kannst du mit einem Editor Programme ändern und erstellen. Hierfür solltest du allerdings die Syntax vom FANUC Roboter kennen. Des weiteren muss auf dem Roboter die Option ASCII upload installiert sein, sonst kannst du keine *.LS Dateien zum Roboter zurückladen.


    Es gibt eine zweite Möglichkeit Programme vom Rechner aus zu erstellen bzw. vorhanden Programme zu ändern.
    Dafür benötigst du iPendantControls. Dieses Programm solltest du auf der FANUC Homepage www.fanucrobotics.de bekommen, nach dem du dich auf der Supportseite angemeldet hast. Das Tool benötigst du, damit das iPendant grafisch auf deinem Rechner dargestellt wird. Auf dem Roboter muss außerdem die Option R558 (Internet Conn/Custo) installiert sein.
    Sind diese Voraussetzungen geschaffen musst du am Roboter noch ein paar Einstellungen machen.


    1. Im Setup Menü unter HTTP muss der Zugriff auf das iPendant auf UNLOCK (U) stehen
    2. In der Variable $UI_CONIG.$READONLY muss das 2. Bit auf FALSE gestellt werden


    Jetzt sollte du über den Webserver des Roboters schreibend auf den Roboter zugreifen können.
    Hierzu musst du auf folgenden Link klicken:


    REMOTE iPENDANT ACCESS (See Note 2)
    Monitor iPendant (ECHO)
    Navigate iPendant (CGTP) <-------------


    Jetzt kannst du über die BACKEDIT Funktion Programme erstellen und ändern. Die BACKEDIT Funktion findest du im SELECT-Bildschirm ganz oben.


    Viel Erfolg


    HERMO

    Moin,


    nachdem ich ne Nacht drüber geschlafen habe ist mir aufgefallen, dass ich einen kleinen Fehler gemacht habe. Ich verschiebe das ganze Toolframe und das wolltest du wahrscheinlich nicht?!


    Hier nun die endgültige Lösung die funktioniert:


    /PROG TEST
    /ATTR
    OWNER = MNEDITOR;
    COMMENT = "";
    PROG_SIZE = 1391;
    CREATE = DATE 08-11-23 TIME 14:55:11;
    MODIFIED = DATE 08-11-24 TIME 10:13:08;
    FILE_NAME = ;
    VERSION = 0;
    LINE_COUNT = 67;
    MEMORY_SIZE = 1851;
    PROTECT = READ_WRITE;
    TCD: STACK_SIZE = 0,
    TASK_PRIORITY = 50,
    TIME_SLICE = 0,
    BUSY_LAMP_OFF = 0,
    ABORT_REQUEST = 0,
    PAUSE_REQUEST = 0;
    DEFAULT_GROUP = 1,*,*,*,*;
    CONTROL_CODE = 00000000 00000000;
    /MN
    1: LBL[1] ;
    2: UTOOL_NUM=1 ;
    3: UFRAME_NUM=1 ;
    4: PR[80,1:OFFSET X]=0 ;
    5: PR[80,2:OFFSET X]=0 ;
    6: PR[80,3:OFFSET X]=0 ;
    7: PR[80,4:OFFSET X]=0 ;
    8: PR[80,5:OFFSET X]=0 ;
    9: PR[80,6:OFFSET X]=0 ;
    10: ;
    11: PR[81,1:OFFSET R]=0 ;
    12: PR[81,2:OFFSET R]=0 ;
    13: PR[81,3:OFFSET R]=0 ;
    14: PR[81,4:OFFSET R]=0 ;
    15: PR[81,5:OFFSET R]=0 ;
    16: PR[81,6:OFFSET R]=0 ;
    17: ;
    18: PR[82:LPOS 1]=P[1] ;
    19: PR[83:LPOS 2]=P[1] ;
    20: ;
    21: LBL[2] ;
    22: IF DI[5:X OFFSET]=ON,JMP LBL[3] ;
    23: IF DI[6:X OFFSET]=ON,JMP LBL[4] ;
    24: IF DI[7:R OFFSET]=ON,JMP LBL[5] ;
    25: IF DI[4:R OFFSET]=ON,JMP LBL[6] ;
    26: IF DI[8:ABORT]=ON,JMP LBL[7] ;
    27: JMP LBL[2] ;
    28: ;
    29: LBL[3] ;
    30: DO[13]=ON ;
    31: PR[80,1:OFFSET X]=PR[80,1:OFFSET X]+5 ;
    32: JMP LBL[11] ;
    33: ;
    34: LBL[4] ;
    35: DO[13]=ON ;
    36: ;
    37: PR[80,1:OFFSET X]=PR[80,1:OFFSET X]-5 ;
    38: JMP LBL[11] ;
    39: ;
    40: LBL[5] ;
    41: DO[13]=ON ;
    42: ;
    43: PR[81,6:OFFSET R]=PR[81,6:OFFSET R]+5 ;
    44: JMP LBL[10] ;
    45: ;
    46: LBL[6] ;
    47: DO[13]=ON ;
    48: ;
    49: PR[81,6:OFFSET R]=PR[81,6:OFFSET R]-5 ;
    50: JMP LBL[10] ;
    51: ;
    52: LBL[10] ;
    53: UTOOL_NUM=1 ;
    54:L PR[83:LPOS 2] 5deg/sec FINE Offset,PR[81:OFFSET R] ;
    55: PR[82:LPOS 1]=LPOS ;
    56: JMP LBL[2] ;
    57: ;
    58: LBL[11] ;
    59: UTOOL_NUM=1 ;
    60:L PR[82:LPOS 1] 100mm/sec FINE Tool_Offset,PR[80:OFFSET X] ;
    61: PR[83:LPOS 2]=LPOS ;
    62: JMP LBL[2] ;
    63: ;
    64: LBL[7] ;
    65: ABORT ;
    66: JMP LBL[7] ;
    67:J P[1] 100% FINE ;
    /POS
    P[1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'N U T, 0, 0, 0',
    X = 700.00 mm, Y = 200.00 mm, Z = 400.00 mm,
    W = -180.00 deg, P = .00 deg, R = 45.00 deg
    };
    /END



    Ich habe dir wieder meine Programm aus Roboguide angehängt.


    Gruß
    HERMO

    Ich habe es mal im Roboguide versucht. Bei mir hat es funktioniert!
    Hier meine Programm:


    1: LBL[1] ;
    2: UTOOL_NUM=1 ;
    3: PR[81,1]=0 ;
    4: PR[81,2]=0 ;
    5: PR[81,3]=0 ;
    6: PR[81,4]=0 ;
    7: PR[81,5]=0 ;
    8: PR[81,6]=0 ;
    9: ;
    10: LBL[2] ;
    11: IF DI[5]=ON,JMP LBL[3] ;
    12: IF DI[6]=ON,JMP LBL[4] ;
    13: IF DI[7]=ON,JMP LBL[5] ;
    14: IF DI[4]=ON,JMP LBL[6] ;
    15: IF DI[8]=ON,JMP LBL[7] ;
    16: JMP LBL[2] ;
    17: ;
    18: LBL[3] ;
    19: DO[13]=ON ;
    20: PR[60]=UTOOL[1] ;
    21: PR[80]=PR[60] ;
    22: ;
    23: PR[80,10]=PR[80,10]+5 ;
    24: JMP LBL[10] ;
    25: ;
    26: LBL[4] ;
    27: DO[13]=ON ;
    28: PR[60]=UTOOL[1] ;
    29: PR[80]=PR[60] ;
    30: ;
    31: PR[80,10]=PR[80,10]-5 ;
    32: JMP LBL[10] ;
    33: ;
    34: LBL[5] ;
    35: DO[13]=ON ;
    36: ;
    37: PR[81,6]=PR[81,6]+5 ;
    38: JMP LBL[10] ;
    39: ;
    40: LBL[6] ;
    41: DO[13]=ON ;
    42: ;
    43: PR[81,6]=PR[81,6]-5 ;
    44: JMP LBL[10] ;
    45: ;
    46: LBL[10] ;
    47: UTOOL[1]=PR[80] ;
    48: UTOOL_NUM=1 ;
    49:J P[1] 100% FINE Tool_Offset,PR[81] ;
    50: JMP LBL[2] ;
    51: ;
    52: ;
    53: LBL[7] ;
    54: ABORT ;
    55: JMP LBL[7] ;
    56:J P[1] 100% FINE ;
    /POS
    P[1]{
    GP1:
    UF : 0, UT : 1, CONFIG : 'N U T, 0, 0, 0',
    X = 700.00 mm, Y = 200.00 mm, Z = 400.00 mm,
    W = -180.00 deg, P = .00 deg, R = 45.00 deg
    };


    Ich habe dir mal das TP-Programm aus Roboguide angehängt. Vielleicht kannst du es ja mal in deinen Roboter laden?!


    Viel Erfolg
    HERMO

    Moin rastarocket,


    ich glaube den Fehler in deinem Programm gefunden zu haben.


    Du machst eine Offsetberechnung z.B. in Zeile 19 wo du wahrscheinlich den X-Offset berechnen willst?! Dann solltest da aber PR[80,1]=PR[80,1]+5 rechnen. Und um die Drehung um Z zu berechnen musst du PR[80,6]=PR[80,6]+5 rechnen.


    Hier die einzelnen Werte in einem Positionsregister:
    PR[X,1] -> X-Koordinate
    PR[X,2] -> Y-Koordinate
    PR[X,3] -> Z-Koordinate
    PR[X,4] -> W (Winkel um X)
    PR[X,5] -> P (Winkel um Y)
    PR[X,6] -> R (Winkel um Z)


    Die Anweisung (PR[80]=UTOOL[1]) brauchst du meiner Meinung nach auch nicht, da du ja in der Zeile 2 das UTOOL schon zuweist mit dem du fahren willst.


    Versuche es mal damit:


    1: LBL[1] ;
    2: UTOOL_NUM=1 ;
    3: Anweisung gelöscht
    4: PR[80,1]=0 ;
    5: PR[80,2]=0 ;
    6: PR[80,3]=0 ;
    7: PR[80,4]=0 ;
    8: PR[80,5]=0 ;
    9: PR[80,6]=0 ;
    10: LBL[2] ;
    11: IF DI[5]=ON,JMP LBL[3] ;
    12: IF DI[6]=ON,JMP LBL[4] ;
    13: IF DI[7]=ON,JMP LBL[5] ;
    14: IF DI[4]=ON,JMP LBL[6] ;
    15: IF DI[8]=ON,JMP LBL[7] ;
    16: JMP LBL[2] ;
    17: LBL[3] ;
    18: DO[13]=ON ;


    --Berechnung X Richtung--
    19: PR[80,1]=PR[80,1]+5 ;


    20:J P[1] 0.5sec CNT100 Tool_Offset,PR[80] ;
    21: DO[13]=OFF ;
    22: JMP LBL[2] ;
    23: LBL[4] ;
    24: DO[13]=ON ;


    --Berechnung X Richtung--
    25: PR[80,1]=PR[80,1]-5 ;


    26:J P[1] 0.5sec CNT100 Tool_Offset,PR[80] ;
    27: DO[13]=OFF ;
    28: JMP LBL[2] ;
    29: LBL[5] ;
    30: DO[13]=ON ;


    --Berechnung der Drehung um Z--
    31: PR[80,6]=PR[80,6]+5 ;


    32:J P[1] 0.5sec CNT100 Tool_Offset,PR[80] ;
    33: DO[13]=OFF ;
    34: JMP LBL[2] ;
    35: LBL[6] ;
    36: DO[13]=ON ;


    --Berechnung der Drehung um Z--
    37: PR[80,6]=PR[80,6]-5 ;


    38:J P[1] 0.5sec CNT100 Tool_Offset,PR[80] ;
    39: DO[13]=OFF ;
    40: JMP LBL[2] ;
    41: LBL[7] ;
    42: ABORT ;
    43: JMP LBL[7] ;




    Vielleicht hilft dir das weiter?!?!?


    Gruß HERMO

    Hallo Bodo,


    du hast vollkommen recht. Ich habe mich nochmal schlau gemacht.


    Du muss folgende Variable umstellen:


    $NUM_RSPACE[1]


    Dort steht als default Wert "3" drin. Ich habe es mit 20 versucht und es hat funktioniert (siehe Anhang).
    Nach dem ändern muss du den Roboter neu starten


    Entschuldige die falsche Info........


    Gruß HERMO

    Moin Ronnie,


    ich habe noch eine kleine Anmerkung zu deiner 2. Frage.


    Um Register oder Offsetwerte über deinen PC am Roboter zu ändern brauchst du noch ein kleines Tool. Dieses Tool heißt iPendantControls. Dieses Programm solltest du auf der FANUC Homepage www.fanucrobotics.de bekommen, nach dem du dich auf der Supportseite angemeldet hast. Das Tool benötigst du, damit das iPendant grafisch auf deinem Rechner dargestellt wird. Auf dem Roboter muss ausserdem die Option R558 (Internet Conn/Custo) installiert sein.
    Sind diese Voraussetzungen geschaffen musst du am Roboter noch ein paar Einstellungen machen.


    1. Im Setup Menu unter HTTP muss der Zugriff auf das iPendant auf UNLOCK (U) stehen
    2. In der Variable $UI_CONIG.$READONLY muss das 2. Bit auf FALSE gestellt werden


    Jetzt sollte du über den Webserver des Roboters schreibend auf den Roboter zugreifen können.
    Hierzu musst du auf folgenden Link klicken:


    REMOTE iPENDANT ACCESS (See Note 2)
    Monitor iPendant (ECHO)
    Navigate iPendant (CGTP) <-------------


    Viel Erfrolg


    HERMO