Beiträge von Milky

    Servus Miteinander



    Ich habe mir ein Programm zusammen gereimt, was soweit auch funktioniert, jedoch habe ich ein Problem mit der Geschwindigkeit der 7. Achse. Die Geschwindigkeit, die Gefahren wird stimmt nicht mit der wirklichen überein und sie lässt sich nicht verändern. Weiter habe ich das Problem, das ich ganz gerne eine inkrementale Wegbestimmung schreiben will. Damit meine ich mit z.B. FRMADD2 und weiter Parameter addieren will. Das habe ich auch schon ausprobiert, aber ich bekomme immer einen Syntaxfehler, wenn ich 7 Werte in FRMADD2 eintrage. Habe dafür auch schon in der DAT die Variablen deklariert.


    Kurze Erläuterung zum Programm. Ich will den Roboter (Achse1-6) und externe Achse (7.Achse) auf Position fahren, anschließend nur die 3 weiteren Punkte mit der 7. Achse überfahren und dabei die Klebeanlage einschalten über den Trigger einschalten. Funktioniert alles bestens.



    Kann mir da jemand zumindest bei der Geschwindigkeit helfen? Wäre dafür seeeeehr dankbar.


    SRC______________________________________________


    &ACCESS RVO
    &REL 80
    DEF Kleb()
    ;FOLD 'BASISTECH initialisieren'


    GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ()
    INTERRUPT ON 3
    BAS (#INITMOV,3 )
    ;ENDFOLD



    ;FOLD 'Koordinatensysteme'
    $BASE = BASE_DATA[BASE_NR]
    $TOOL = TOOL_DATA[TOOL_NR_Kleber]:FRMCALC(0, 0, 0, 0, 0, 0)
    ;ENDFOLD



    ;FOLD 'Werkstueckhomepunkt anfahren'
    ;Verfahrgeschwindigkeit zum Homepunkt auf 15%
    $vel_axis[1] = 15; Achsbeschleunigung Achse 1 = 15% vom max. Achsgeschwindigkeit
    $vel_axis[2] = 15
    $vel_axis[3] = 15
    $vel_axis[4] = 15
    $VEL_EXTAX[1] = 15
    ;ENDFOLD



    ;FOLD 'Homeposi anfahren'
    PTP homeposi
    ;ENDFOLD



    ;FOLD 'Variable definieren'
    Velweld=5
    $VEL.CP = VelPre / 60 ; Geschwindigkeit in [m/min]
    ;ENDFOLD



    ;FOLD 'Kleben'
    PTP {x 390,y 1540, z 330, a -90, b 30, c 0, e1 -150} C_PTP
    PTP {x 390, y 1540 ,z 330 ,a -90 ,b 30 ,c 0 ,e1 0} C_PTP
    TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[29]=TRUE
    TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[29]=FALSE
    PTP {x 390,y 1540, z 330,a -90, b 30, c 0, e1 150} C_PTP
    PTP {x 390, y 1540,z 330,a -90, b 30, c 0, e1 200} C_PTP
    ;ENDFOLD



    ;FOLD 'Homeposi anfahren'
    $vel_axis[1] = 15
    $vel_axis[2] = 15
    $vel_axis[3] = 15
    $vel_axis[4] = 15
    $VEL_EXTAX[1] = 15
    PTP Homeposi
    ;ENDFOLD


    END



    DAT____________________________________________________


    &ACCESS RVO
    &REL xxx
    DEFDAT Kleb


    EXT BAS (BAS_COMMAND :IN,REAL :IN)
    DECL INT SUCCESS



    ;-------------Wergzeug- und Werkstueckangaben-----
    DECL CONST INT TOOL_NR=8 ; Klebepistole
    DECL CONST INT BASE_NR=1 ; Tisch



    ;-----------Positionen Linearachse----------------
    DECL REAL LIN_VEL
    DECL CONST REAL LIN_VEL_MAX = 25 ;[m/min]
    DECL REAL_LIN_ACC



    ;------------Sonstige Angaben---------------------
    DECL REAL zVersatz; Abstand Pistole Blech
    DECL REAL WZWinkel; Anstellwinkel des Klebepistole
    DECL REAL W_Dicke; Werkstueckdicke


    ;------------Geschwindigkeiten [m/min]------------
    DECL CONST REAL VelDef=10.0
    DECL CONST REAL VelPre=5
    DECL REAL VelWeld



    ;-----Beschleunigungsrampe zum Schweissen [mm]----
    DECL CONST REAL SRamp=20.0



    ;---------------Hilfsvariablen--------------------
    DECL CONST E6POS homeposi={x 300,y 1300,z 200,a 180,b 0,c 0,e1 0,e2 0,e3 0,e4 0,e5 0,e6 0,s 'B110',t 'B011011'}



    ENDDAT



    _____________________________________________________________



    Sorry, das ich als blutiger Anfänger mit dem kompleten Programm komme, aber ich habe schonetliche Sachen ausprobiert und bin jedesmal gescheitert.




    Vielen Dank euch allen

    Servus Miteinander


    Ich muss auch die Kuka Steuerung und Programmierung lernen. Leider hat meine Hochschule nur die Kuka Handbücher mit denen das lernen nicht besonderst viel Spaß macht.


    Wäre auch sehr dankbar, wenn mir jemand gute Unterlagen zukommen lassen würde.



    milkmannn@gmx.net


    Vielen Dank

    Servus Miteinander



    Ich muss im Rahmen meiner Uniarbeit für Versuche die Anlage mit Roboter und externer Linearachse neu programmieren. Das funktioniert soweit ganz gut. Allerdings stoße ich momentan auf das Problem, das der Triggerbefehl nicht so funktioniert wie ich das will.


    Ich will einen Punkt mit dem Roboter anfahren, an diesem verweilen und während der Verweilzeit möchte ich die Linearachse bewegen. Während die Linearachse sich bewegt, möchte ich am Punkt 200, das sich das Schweißgerät einschaltet. Wird der Punkt 100 erreicht soll sich die Schweißanlage abschalten. Selbiges gilt für den Abzug, deshalb zwei Trigger. Die Linearachse verfährt auch entsprechend, leider werden die Ausgänge nicht geschaltet.


    Was mache ich falsch? Wer kann mir helfen?


    Ich bin für jegliche Hilfe und Ansatzpunkt sehr dankbar.



    ;FOLD 'Linearachse positionieren und verfahren'
    $ASYNC_AXIS = 'B1'
    VEL_EXT_SET(5)


    ASYPTP {e1 345}


    ;FOLD 'Startpunkt'
    PS = FRMADD2(Point1, FRMADD(0,-100,0,0,0,0))
    LIN PS
    yEin = 200
    yAus = 100


    TRIGGER WHEN PATH = yEin DELAY = 0 DO $OUT[26]=TRUE
    TRIGGER WHEN PATH = yEin DELAY = 0 DO $OUT[41]=TRUE


    TRIGGER WHEN PATH = yAus DELAY = 0 DO $OUT[26]=FALSE
    TRIGGER WHEN PATH = yAus DELAY = 0 DO $OUT[41]=FALSE


    ASYPTP {e1 -165}
    $ASYNC_AXIS ='B0'
    $VEL.CP = VelPRE / 60
    $ACC.CP = 0.3
    ;ENDFOLD