Beiträge von doc_rob

    geht zb. so: du deklarierst dir in deinem .dat File einen "Zwischenspeicher" als E6POS:


    DECL E6POS XPos_backup


    Und schreibst dann im Programm (natürlich bevor du die Position verschiebst!) die XPos drauf


    XPos_backup = XPos


    Gegen Ende deines Entnahmevorgangs (also wenn deine Fächer all neu befüllt werden müssen (bzw. bereits befüllt wurden) schreibst du das backup wieder auf die XPos.


    XPos = XPos_backup


    Hinweis:

    du kannst dein Entnahmefach als Basis vermessen und dann einmal den Weg für Hin und Rückfahrt teachen. Um ins nächste Fach zu fahren verschiebst du dann einfach die Basis (geht 1:1 gleich wie bei den Punkten, nur eben im Base Koordinatensystem das du vermessen hast). So musst du nicht jedes mal mehrere Punkte verschieben, sondern einfach nur die eine Basis.


    Grüße,

    Domi

    Hallo,


    gibt es eine einfache Möglichkeit, eine Neigung in die aktuelle Bewegungsrichtung bei einer Circ- Bewegung zu generieren? (Ähnlich einer Kreiselbewegung z.b)

    Mit einfach meine ich, nicht den "Umweg" über die Orientierung im Hilfspunkt. Gibts da einen Trick den ich übersehen habe?


    lg Dominik

    Läuft die PN Kommunikation mit der SPS problemlos?

    Wird der Scalance wirklich versorgt? Es kann sein, dass dieser für eine externe 24V Versorgung vorgesehen ist, und man eine Brücke am X11 (ich glaube der wars) machen muss.

    Ja, stimmt genau. Hab zwar schnelle Eingänge zur Verfügung, jedoch wenn ich da "zu Fuß" über Interrupts die Bahn ändere bleibt der Roboter jedesmal stehen. Ich brauche aber eine halbwegs flüssige Bewegung.

    Oder gibt es da einen Trick? Habt ihr sowas schon einmal gemacht?


    lg,

    Domi

    Hallo,


    ich stehe hier vor einer kleinen Herausforderung (KSS 8.5.5, Quantec):

    Ich muss auf einem Werkstück welches nur im Idealfall komplett plan ist, die Oberfläche abfahren. Bevorzugt in Kreisen mit SCirc Bewegungen.

    Die zu bearbeitende Oberfläche kann sich in Z- Richtung ändern, also Unebenheiten oder Löcher aufweisen.

    Das Werkzeug selbst kann einige Millimeter mechanisch ausgleichen, allerdings hätte ich gerne einen Plan B. Die Kraftgrenze sollte so im Bereich 100N am Werkstück sein.


    -Mit Vectormove die Z-Richtung weichzuschalten geht nicht, weil sobald Vectormove aktiviert ist, kann sich der Roboter nur mehr in Vektorrichtung bewegen und nicht mehr am Werkstück entlang fahren -> Richtig ? Zumindest war das heute beim Testen so.


    -Die "Standard" also eingebauten Torque Limits sind zu ungenau, hat überhaupt nicht funktioniert.


    -dann bleibt mir noch eine Auswertung des Motorstroms vom Werkzeug und in einem Interrupt die Base zu verschieben, aber dazu muss der Roboter stehen bleiben (Brake, Resume, und ich glaube das ändern der Base im Interrupt hat keine Auswirkungen auf Bewegungen im Programmablauf...) was nicht sehr elegant wäre.


    Habt ihr diesbezüglich noch Vorschläge, bevor ich mich nach einer Kraftmessdose umsehe?


    Grüße,


    Domi

    Achtung, wenn ein Roboter mit Profisafe und X11/X13 ausgerüstet ist, braucht man den kleinen A311 (ich glaube so heißt der) Brückenstecker.
    Auch wird Standardmäßig die Stromversorgung des Profinet Switch im Schrank über X11 geführt, d.h. man muss den Switch entweder anders versorgen, oder eine Drahtbrücke am X11 installieren.


    lg

    Hallo,


    wir sind im Begriff ein Versuchswerkzeug für einen Roboter aufzubauen, welches mehrere selbstgebaute "Linearachsen" enthält. D.h. der TCP so soll dann nach der Achse 6 noch linear verfahren werden. Muss man für so ein vorhaben eine Justage mit EMD vorsehen? Also fixe Kerbe und Spitze? Gibt es eine andere Möglichkeit?


    lg, Domi
    PS: Die Kuka Schulung dazu ist gebucht, jedoch leider erst zu einem späten Termin.

    Es wurde hier schon alles wichtige angeschnitten.
    Du brauchst in deinem Programm nur Bremsentest und Justagereferenzierung aufrufen, der Roboter macht die dann nur, wenn er es braucht.
    Bitte rede mit deinem Chef und mach die Schulung dazu. Ist wirklich wichtig!
    lg

    Danke an alle, es lauft jetzt super!
    um den Laser Taster zu entprellen musste ich in der einen Interruptroutine den anderen Interrupt einschalten.
    Das Problem war, dass der Interrupt ja erst nach einer Zykluszeit scharf wird. Das habe ich dann mit wait sec 0.012 gelöst.
    Das Messergebnis ist vielversprechend.


    lg

    Hi,
    habe hier ein kleines Problem mit einer Aufgabenstellung (KRC4 / KSS8.5):
    Wir wollen während der Fahrt (Relativbewegung in Z) 2 Positionswerte erfassen, und dann ausrechnen wie weit diese voneinander entfernt sind. Programmausschnitt unten. Im prinzip sagt uns ein Laser Taster sobald er etwas sieht, bzw sobald er nichts mehr sieht. Mit diesen Ereignissen triggern wir die Datenspeicherung. Herauskommen sollte die Z Abmessung des Teils.
    Leider bekommen wir meistens 0 heraus (h1 und h2 haben den gleichen Wert).
    Das kann sein weil:
    die Interruptereignisse nicht richtig kommen (Taster "prellt" an der Kante)
    oder $POS_ACT wird nicht schnell genug aktualisiert (müsste dann bei langsamer Fahrt besser gehen... tut es aber nicht)
    oder die Interrupts werden nicht richtig ausgelöst (darf man einen anderen Interrupt in einer Interrupt routine scharf schalten?? Passt das so?)
    Bitte schaut euch das mal an, freue mich über Tipps :)
    lg, Dominik
    DEF main()
    .....
    $VEL.cp=0.2
    wait sec 0
    INTERRUPT on 20

    LIN_REL{z 200} #base


    wait sec 0
    interrupt off 21
    $VEL.cp=2


    result=h2-h1
    .....
    DEF interrupt1()


    h1=0
    wait sec 0
    h1=$POS_ACT.z
    Interrupt on 21


    END


    DEF interrupt2 ()


    interrupt off 20
    h2 = 0
    wait sec 0
    h2=$POS_ACT.z


    END