Beiträge von olafrem

    Hallo BeatTheQ !


    Danke für die Infos!
    Ich meinte das eher so in dieser Richtung:


    ; Palette 1-20
    IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL*VARIABLENWERT* == TRUE) THEN
    A_RobiReady = FALSE
    HPAL*VARIABLENWERT* ()
    A_PAL*VARIABLENWERT* = FALSE
    ENDIF
    IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL*VARIABLENWERT* == TRUE) THEN
    A_RobiReady = FALSE
    WPAL*VARIABLENWERT* ()
    A_PAL*VARIABLENWERT* = TRUE
    ENDIF

    MOIN!


    Ich habe hier ein Programm und zu wenig Ahnung vom Programmieren. Das läuft alles sehr schön aber ich habe vor etwas zu verschlanken.
    Wir haben hier einen KR150/2 welcher je nach Bedarf verschiedene Werkstückträger (Paletten heissen die im Programm) aus einem Regal in eine Maschine packt. Ich habe eine SPS die verschiedene Eingänge (über Profibus) am Roboter schaltet.
    Dann durchläuft das Programm ne Schleife und fragt die ganzen Eingänge ab um je nach dem eine der 20 Paletten zu bearbeiten.


    Ich kopier mal etwas vom Code hier rein.


    ;;FOLD Palettenwahl (DIREKTANWAHL)
    DEF PALETTE ()
    ; Palette 1
    IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL1 == TRUE) THEN
    A_RobiReady = FALSE
    HPAL1 ()
    A_PAL1 = FALSE
    ENDIF
    IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL1 == TRUE) THEN
    A_RobiReady = FALSE
    WPAL1 ()
    A_PAL1 = TRUE
    ENDIF

    ; Palette 2
    IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL2 == TRUE) THEN
    A_RobiReady = FALSE
    HPAL2 ()
    A_PAL2 = FALSE
    ENDIF
    IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL2 == TRUE) THEN
    A_RobiReady = FALSE
    WPAL2 ()
    A_PAL2 = TRUE
    ENDIF

    ; Palette 3
    IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL3 == TRUE) THEN
    A_RobiReady = FALSE
    HPAL3 ()
    A_PAL3 = FALSE
    ENDIF
    IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL3 == TRUE) THEN
    A_RobiReady = FALSE
    WPAL3 ()
    A_PAL3 = TRUE
    ENDIF


    usw. usw.


    Kann ich und wenn wie die Palettennummer (hier 1,2 und 3) durch eine Variable ersetzen?


    Danke für die Hilfe

    Programmiersklave:


    Genau- eine Fräserradiuskorrektur. ABER: Das Teil ist eingespannt und der Roboter verfährt eine Entgratspindel. $IPO_MODE=#TCP sagt mir leider nichts da ich mich erst in das Thema reinarbeite.


    Ja - ich merke schon - die Programmieranleitung werde ich demnächst öfter in der Hand haben ....
    Das mit dem Schiebeframe muss ich mal ausprobieren.


    Ist es denn egal ob ich mir die Programmierung Experte von der KRC1 oder KRC5.x ansehe?


    :danke:


    gewöhne Dir bitte an, Frames immer mit : zu berechnen


    frame=ursprung:offset


    [glow=blue,2,300]Nur so werden auch Rotationen korrekt umgesetzt[/glow]


    Also ungefähr so ...
    schiebeframe={X 0.0,Y -50.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe:y=schiebeframe:y-WKZR1-WKZR1 ; oder kann ich hier auch schiebeframe.y-(2*WKZR1) schreiben
    LIN_REL schiebeframe

    Morgen!



    Ich stelle fest das dieses Forum mir doch schon einige Antworten gibt wenn ich mich mehr mit der Suche beschäftige:
    (da wir bei unserem gebrauchten Roboter leider keine Doku-CD´s dabei haben)


    es ist übrigens eine KRC V4.1.7 (zumindest die Software) an einem KR125



    folgende Seiten haben mir auch geholfen: (Mein Drucker ist jedenfalls erstmal beschäftigt....)


    http://www.roboterforum.de/rob…ogrammierung-t3984.0.html


    http://www.roboterforum.de/rob…roboter/krc1-t7085.0.html


    http://www.roboterforum.de/rob…eren_lernen-t3824.75.html


    http://www.roboterforum.de/rob…2_in_deutsch-t4892.0.html



    Danke auch für alle anderen Antworten!!!

    erstmal danke für die schnelle Antwort!


    nochmal zu 1:


    ich möchte mit dem Roboter nachdem dieser ein Teil aus einer Maschine genommen hat selbiges entgraten.
    Dann würde ich in die Entgratspindel einen Fräser spannen z.B. 8mm D.


    wäre das Teil im einfachsten Fall z.B. 50x50mm und WKZR1=4 müsste ich ja


    schiebeframe={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.y=schiebeframe.y+WKZR1 ;muss hier zwischen + und WKZR1 nen Leerzeichen?
    LIN_REL schiebeframe
    schiebeframe={X -50.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.x=schiebeframe.x-WKZR1
    LIN_REL schiebeframe
    schiebeframe={X 0.0,Y -50.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.y=schiebeframe.y-WKZR1-WKZR1 ; oder kann ich hier auch schiebeframe.y-(2*WKZR1) schreiben


    ......




    Ich habe das mit dem $OV_ nur gemacht weil das das einzige war was ich variabel halten und hinfummeln konnte.
    Geht da auch wieder um das Entgratprogramm. Das verfahren zwischen den einzelnen zu entgratenden Bearbeitungskanten soll mit SPEED1 und die Positionierung in Z (wegfahren und zum nächsten zu entgratenden Teil) mit Speed2


    Kann ich dann da


    BAS(#VEL_PTP,SPEED1) schreiben ? Kann ich wahrscheinlich eh nicht nehmen da es ja kein PTP ist.


    Ich glaube ich muss mir mal eine Expertenprogrammieranleitung besorgen - oder ist soetwas hier im Forum unterwegs?


    Trotzdem Danke

    Hallo!


    Erstmal Hallo zusammen! Ich bin der neue und habe hier in unserer Lehrwerkstatt nun einen Roboter von Kuka (KR125). Wir haben mit ihm auch schon erfolgreich Rennwagen gezeichnet. Aber viel mehr ist im Moment noch nicht drin.


    Ich habe nun zwei Dinge an denen ich mir die Zähne ausbreche:


    Frage 1:
    Ich möchte inkremental (also ne relativbewegung) in einer Achse einen Wert verfahren. Das schwierige ist hierbei das der Roboter in z.B. der X-Achse einen Wert (Werkzeugkorrektur) abziehen bzw. draufrechnen soll. Bei Werkzeugmaschinen gibt es hier G41 oder G42.


    Ich habe oben vor der INI-Zeile ein
    DECL INT WKZR1 geschrieben und etwas weiter unten
    WKZR1=10


    Wenn ich nun
    LIN_REL {X 20+WKZR1,Y 10,Z 0,A 0,B 0,C 0} verfahren möchte haut das so nicht hin.


    wie könnte das denn nun funzen?



    Frage 2:
    Ich habe in der Config.dat die Variablen SPEED1 und SPEED2 deklariert.
    Im Programm steht:
    SPEED1=95
    SPEED2=66
    Im Unterprogramm dann
    $OV_PRO=SPEED1
    LIN_REL {X 0,Y 0,Z 0,A 0,B 0,C 0}


    Das funktioniert auch wunderbar. Jedoch würde ich gerne die Geschwindigkeit einstellen können ohne den Programmoverride zu verändern.
    Aber mit etwas anderem als $OV_PRO= bekomme ich das nicht hin.
    Kann mir da jemand ne Möglichkeit nennen?



    Also ich hoffe ich habe hier nicht die Superanfängerfragen gestellt. Die Suche hat mir jedenfalls nicht wirklich geholfen (zumindest nicht in oben genannten Fällen). Aber ich muss mich auch erst mit dem ganzen Programmierthema auseinandersetzen.


    Vielen Dank für Antworten...

    Hallo zusammen!


    Mir wurde jetzt schon mehrfach von einem KR3 abgeraten.
    Kann mir denn jemand etwas vergleichbares gebrauchtes empfehlen oder sogar anbieten?



    Danke im voraus....


    Werde PN´s jetzt auch öfter abholen....

    Hallo!


    Ich suche für unsere Lehrwerkstatt einen Roboter (6 Achsen?).
    Da ich und wir uns jetzt mal mit diesem Thema beschäftigen wollen würde ich gerne Wissen welche Roboter für eine Lehrwerkstatt geeignet wären von denen keine Gefahr ausgeht. Ich habe bei der Firma Christiani einen Roboter gesehen welcher jedoch unsere Preislichen Vorstellungen sprengt. Denso mit 6 Achsen für 18.480.- .
    Ich habe öfter von einem Kuka KR3 gelesen. Was kostet wohl so ein Gerät?


    Für jegliche Antwort im voraus vielen Dank.