Posts by fubini

    Theoretisch natürlich. Allerdings brachst du dann halt die entsprechenden Maschinendaten für den Arm. Außerdem würde die ganze Leistungselektronik im Schrank nicht dazu passen. Vorgefertigt gibt es da m.E. nichts und du müsstest alles selbst machen. Sinnvoll ist das nicht. Da kommen dann wahrscheinlich Mannjahre an Arbeit auf dich zu. Ich würde mir sowas nicht antun. Für mehr Geld bekommst sicher auch eine gute gebrauchte KRC2 mit allem drum und dran. Was älteres würde ich sowieso nicht empfehlen.


    Wenn du nur ein bißchen rumspielen willst, wär dann nicht etwas in der Art wie hier:


    KUKA youBot - Trinamic


    besser geeignet? Sowas gibt es auch von anderen Herstellern und gebraucht kostet sowas nicht die Welt. Außerdem haben solche System meistens offene Schnittstellen, so dass man sie über z.B. ROS: Home betreiben kann.


    Fubini

    Neben der Hardware, solltest du dich unbedingt auch versichern dass die notwendige Software zur Inbetriebnahme dabei ist. Nur mit der Angabe VK120 weiß ich nicht was an Version da gebraucht wird. Außerdem wäre meine persönliche Empfehlung auf das Standardprodukt und nicht auf eine Spezialversion für VW zu setzen. Inder VW Version ist leider vieles so anders, dass die Anzahl der Leute die helfen können und allgemein die Ersatzteillage schlechter.


    Im englischen Parnerforum gab es mal eine Zusammenstellung was man vor Kauf unbedingt beachten/kontrollierten sollte. Müsstest aber danach suchen. Link hab ich nicht parat.


    Fubini

    Vielleicht hilft das ja schon mal weiter:


    Ok. Du fährst nur PTP. Dann ist die Beschleunigung definiert durch das maximale Moment, dass die Achsen aufbringen können. Das hängt dann von vielen Faktoren ab wie z.B. der Last, der Stellung, aktueller Geschwindigkeit, ... .

    Hier wird wie SJX sagt mit Dynamikmodell gefahren. Die einzelnen Parameter und Aufbau des Modells wird von KUKA nicht veröffentlicht.


    Fubini

    PTP Einzelsätze, d.h. ohne Überschleifen, sind Geraden im Achsraum. Damit kannst du für jede Achse genau sagen in welche Richtung sie von der achsspezifischen Startposition zur achsspezifischen Zielposition fahren wird. Insbesondere kannst du dann auch abschätzen ob diese Achsrichtung kartesisch vom Tisch wegführt oder in Richtung des Tisches verläuft.

    3 bis 4 mm klingt so der Größenordnung nach Absolutgenauigkeit. War der Roboter vielleicht vor RDW Tausch absolutgenau und ist es jetzt nicht mehr bzw. wurde vergessen die Absolutgenauigkeit zu aktivieren?


    Was meinst du genau mit numerischer Abweichung? Was vergleichst du da genau? Siehst du nur eine Abweichung oder erreicht das Programm gar nicht die geteachten Koordinaten bei pos_act.


    Fubini

    RampUpTimeUnderLoad in A*.XML or E*.XML oder $raise_time[] abhängig von der Software version.




    Das ist die Zeit die der Roboter braucht um eine Achse auf maximale Geschwindigkeit zu beschleunigen. Genauer eigentlich den Motor auf vel_axis_ma . Streng genommen müsste also für die Achse neben der Übersetzung rat_mot_ax auch noch die Achskopplung ax_coup berücksichtigt werden.


    Fubini

    Unterprogramme verwenden würd ich mal sagen. Kannst aus mehreren Hauptprogrammen heraus aufrufen und wo möglich die Positionen global machen oder als Eingabeparameter an die Unterprogramme übergeben.


    Fubini

    LOOP

    elements_read = eki_hw_iface_get(joint_pos_tgt)

    ptp joint_pos_tgt c_ptp

    ENDLOOP

    Ich kenn jetzt wiederum ethernet KRL nicht gut. Hast du mal versucht 5 Positionen vor der Loop einzulesen und dann in der Loop die 5 Positionen am Stück auszüfhren. Also ohne eki_hw_iface_get() dazwischen.

    Wenn es dann geht würde ich vermuten das Problem liegt an einem Vorlaufstop den diese Funktion produziert. Ob und welche aufrufe von Etherner KRL Vorlaufstopp triggern sollte aber auch in der Doku stehen.


    Außerdem würde ich prüfen ob du wirklich jedesmal von eki_hw_iface_get() eine geänderte Position bekommst. Eventuell schickst du ja x mal die gleiche und erst x+1 ist anders.


    Fubini

    Aus Sicht der Software sind KSS8.6 (KRC4) und KSS8.7 (KRC5) digitale Zwillinge. Unterschied ist nur die Hardware auf der sie laufen. Insofern würde man in der Hinsicht nicht groß umstellen müssen. Insofern sollten eigentlich auch die meisten Technologiepakete für die V8.6 auch mit der V8.7 gehen. Ob jetzt alle Technologiepakte schon offiziell für 8.7 zur Verfügung stehen kann dann am Ende des Tages aber trotzdem nur KUKA sagen.


    Fubini

    Puh da muss ich ehrlich zugeben, dass ich keine Ahnung habe wie das geht...

    Hättest du da nen Beispiel Code zufällig?

    https://www.robot-forum.com/ro…2Band%2BCWRITE#post175436


    außerdem kannst du die ja das CREAD/CWRITE Handbuch aus dem XPert runterladen.


    Könntest du mir dafür evtl. auch kurz zeigen wie man das deklariert?

    Im dat-File

    DECL INT myTIMER1 = 0

    DECL INT myTIMER2 = 0

    ...


    Im src:


    myTimer1 = $TIMER[1]

    myTimer2 = $TIMER[2]

    ...


    fubini

    Da gibts viele Möglichkeiten.


    Wenn du selbst mitloggen willst kannst du über CWrite Files öffnen und reinschreiben,


    Wenn du die Timer im datfiles mitloggst kannst du nach dem Testlauf das Projekt in WorkVisual übertragen und dort ins dat-File schauen


    Man kann auch Remotedesktop Verbindungen zu Steuerung aufbauen. Dann kannst du einfach Screenschot von dem Fenster machen. (Geht glaub ich auch aus WorkVisual raus)


    Du kannst unter Variable -> Anzeige ein über ConfigMon.ini konfigurierbareTabelle anlegen um da die Timer reinkonfigurieren und anschließend die Tabelle Screenshoten


    ...


    Fubini

    Nirgends. Müsste man selbst z.B. im Programm setzen. Ist nach Kaltstart wahrscheinlich immer erst #AS_TRA. Ob es durch Programmabwahl auch wieder auf #AS_TRA zurückgesetzt wird weiß ich gerade nicht. Müsstest du ausprobieren.


    Ich sehe aber gerade dass du die Hauptlaufvariable benutzt (ok mein Screenshot hat die Vorlaufvariante abgeschnitten, aber ich dachte das ist Allgemeinwissen, dass _C im Namen immer Hauptlauf bezogen bedeutet) . Das muss im Program im Vorlauf gesetzt werden, also


    $ROTSYS = #BASE ;(ohne _C)

    LIN_REL {X *}


    Die Hauplaufvariable dient nur zum Auslesen während der Ausführung und ist nicht schreibbar. Ist also das gleiche wie bei $BASE und $BASE_C oder $TOOL und $TOOL_C und allen anderen Hauptlaufsystemvariablen.


    Fubini