Beiträge von christiankr

    Hallo,


    für eine aktuelle Anwendung bei uns haben wir den Roboter eine Position anfahren lassen und müssen danach Achse 6 um 360° drehen. Soweit kein Problem.
    Ist es bei der Drehung der Achse 6 möglich ein Triggersignal alle 0,1° (oder evtl. 1°) der Umdrehung ausgeben zu lassen?


    Die Dokumentation kennt ja den Befehl Trigger mit dem Argument path, jedoch ist hier die Einheit laut Doku mm was es bei einer Drehbewegung etwas kompliziert gestaltet.
    Gibt es eine Lösung für das obige Problem?


    Roboter ist ein KR30/3 mit KR C2 Steuerung.


    Vielen Dank!

    Hallo Forum,


    wir haben hier auf der Arbeit einen Mitsubishi RV-E3J inkl. CR-E116 Controller geschenkt bekommen und wollen das gute alte Stück zum Laufen bringen.


    Bei der Inbetriebnahme des Controllers kommt die ganze Zeit ein Piepzeichen und der folgende Zahlencode wird im Display angezeigt:
    0-0-<Pause>-1-2


    Kann mir jemand sagen was das bedeutet? Bzw. kann ich irgendwo nachschlagen, was diese Zahlencodes bedeuten?


    Nach einiger Internetrecherche bin ich schon an das scheinbar passende "Movemaster Super User's Manual" gekommen, finde hier aber zu den Codes auch keine Erklärung.


    Bin um jede Hilfe dankbar!


    Gruß


    Christian

    Erstmal danke MEGATRON.
    Also so wie ich deinen Vorschlag verstehe sollten wir am X11 überbrücken?
    Das wäre evtl. noch denkbar da wir aus *unbekannten*-Gründen den Sicherheitsschalter der Tür selber nicht überbrücken dürfen.


    Und wenn ich ihm im AUT-EXT Modus bei geöffneter Tür den $MOVE_ENABLE auf TRUE setze? Fährt er an oder wird er keinen Muks machen?


    Achja, entschuldigung: KR C2 5.4

    Hallo,


    eine kleine Frage von mir aus:
    Für Präsentationszwecken müssten wir den Roboter im Automatikmodus betreiben und ein kontinuierliches Programm ohne Benutzereingabe ablaufen lassen. Derzeit ist der Roboter so konfiguriert, dass er nur bei geschlossener Schutztür im Automatikmodus startet.


    Während der Präsentation müssten wir nun jedoch diese Schutztür geöffnet lassen. Keine Sorge, für ausreichend Schutz der Personen wird durch eine zusätzliche Plexiglaswand schon gesorgt. ;)


    Nun meine Frage: lässt sich die Freigabe evtl. im AUT-EXT Modus überbrücken? Oder habe ich sonst eine Möglichkeit den Roboter in dem von mir geschilderten Szenario laufen zu lassen?


    Vielen Dank für jegliche Hilfe.


    Gruß


    Christian

    Auf der orginalen KUKA Doku von der CD findest du die von mir gemachten Angaben ab Seite 24.
    Punkt 5.6: "XML-Struktur für den Datenempfang definieren"
    Punkt 5.7: "XML-Struktur für den Datenversand definieren"

    In der XMLApiConfig.xml legst du deinen Sensor an mit Sensorname (als Beispiel hier nennen wir den Sensor mal TEST). Im selben Ordner muss dann noch eine TEST.xml und eine TEST+.xml angelegt werden. TEST.xml enthält die Struktur der empfangenen Daten TEST+.xml die Struktur der gesendeten Daten.


    Steht aber ausführlich mit dem korrekten Aufbau der Strukut auch in der beiliegenden Doku ;)

    zu 1.)
    keine Ahnung tut mir leid


    zu 2.)
    Mit welchem Befehl erfolgt die Bewegung? Kann mir das nur erklären wenn Werkzeug bei der Bewegung nicht richtig gewählt wurde.


    zu 3.)
    Toogle Trace funktioniert bei mir nur wenn ich das Programm in KUKA.Sim erstellt habe. Leider nicht bei Programmen welche in OL erstellt wurden.

    Ja kann ich gerne einbauen, ist kein Stress. Die INVERT Funktion existiert ja eh schon als Methode.
    Ja geb dir aber recht dass ich da meine Button Beschreibung etwas "stiefmütterlich" gewählt habe ;)


    Zusätzlich habe ich jetzt noch, was in der Excel-Vorlage gefehlt hat, die Berechnung der Singularitäten bei B = +/- PI/2 hinzugefügt, was das Ergebnis noch genauer machen sollte.


    Neue Version sollte im Laufe des Tages kommen.

    Ok Problem erkannt. Die Bösen Singularitäten mal wieder.
    Laut dem was ich jetzt rausgelesen habe kann man das gar nicht umgehen? :denk:


    Mir ist direkt die Bahngeschwindigkeit ja wurscht, er kann gerne auch kurz vor der Singularität stehen bleiben, seine Achsen korrigieren und dann erst die Bahn fortsetzen, wäre vollkommen in Ordnung für mich. Aber das ist wohl nicht realisierbar oder?


    Oder ein einfacher Programmieraufruf ala:
    if (Geschwindigkeit A4 > 100%)
    GeschwindigkeitA4 = 100%


    oder so (ich weiß Syntax ist nicht korrekt! ;) ).


    Mein Problem ist nur bei folgendem Ablauf:
    "Roboter bekommt Koordinaten -> Roboter testet ob Endkoordinate im Arbeitsraum liegt (via INVERSE) -> Koordinate liegt im Arbeitsraum -> Roboter fährt Koordinate mit PTP an" kommt es dazu dass er während des Verfahrens mit PTP den Arbeitsraum verletzt OBWOHL die Endkoordinate in Ordnung ist. Daher wäre teilweise eine etwas "raumsparendere" Bewegung wünschenswert als sie mir PTP liefert.

    Moin,


    bisher arbeite ich bei meiner Positionierung ausschließlich mit PTP Bewegungen.
    Das würde ich jedoch gerne umstellen auf LIN-Bewegungen um den vorhandenen Platz besser auszunutzen.


    Meine kompletten Beschleunigungs- und Geschwindigkeitsdaten sind auf 30% programmiert, $TOOL und $BASE sind gesetzt. Kleines Beispiel:


    Code
    $BASE = $NULLFRAME
    $TOOL = TOOL_DATA[1]
    
    
    $VEL_AXIS[1] = 30
    ... (hier aus reiner Faulheit die anderen rausgelassen! :) )
    $ACC_AXIS[6] = 30
    
    
    LIN POSITION


    Trotz allem wirft er mir hierbei immer den Fehler:
    "Geschwindigkeitsüberhöhung A4 230.27%; Reset oder Satzanwahl erforderlich"


    Per PTP funktioniert es wunderbar.


    Was mache ich falsch? Ich habe theoretisch alle Zeit der Welt, kann man nicht in so einem Fall die Geschwindigkeiten und Beschleunigungen soweit drosseln dass er den Punkt trotzdem anfährt?


    Jegliche Tipps werden gern gesehen! :danke:

    Das liegt einfach daran dass es sich hierbei um eine Koordinatentransformation handelt.
    Wenn du eine Verschiebung um X = 50 hast, ist diese Verschiebung bezogen auf ein komplett verdrehtes Koordinatensystem halt nicht bezüglich der X-Achse dieses Koordinatensystems sondern setzt sich aus der Verschiebung um mehrere Achsen zusammen je nach der Verdrehung.


    Ein Beispiel:
    Frame 1: {10, 12, 10, 0, 0, 0}
    Frame 2: {5, 0, 0, 0, 0, 0}
    Ergebnis wie von dir erwartet: {15, 12, 10, 0, 0, 0}


    Sind jedoch die Systeme verdreht z.B.
    Frame 1: {10, 12, 10, 90, 0, 0}
    Frame 2: {5, 0, 0, 0, 0, 0}


    Dann ist die Bewegung nicht auf der X-Achse sondern auf der Y-Achse durch die Drehung um Z mit 90° und das Ergebnis lautet: {10, 17, 10, 90, 0, 0}


    Ich hoffe ich konnte es gut genug erklären?