Beiträge von fubini

    Wenn ich eine überschliffene Position habe und danach kommt eine nicht erfüllte Wartebedingung oder irgend eine andere Art von Vorlaufstopp, dann bleibt der Roboter relativ undefiniert am Anfangsbereich seiner Überschleifzone stehen.

    Dafür nimmt man auch das STOP WHEN PATH Feature des Spline.

    Außerdem steht er nicht irgendwo ,sondern auf der geteachten Sollbahn. Warum die geteachte Sollbahn, die im normalen Prozessverlauf abgefahren werden soll verlassen und stattdessen auf einen anderen Punkt zu positionieren der "irgendwo" im Raum liegt die bessere Variante sein soll erschließt sich mir nicht.

    Ferner hat der Spline nur sehr wenige Gründe warum überhaupt Überschleifen nicht möglich sein kann. Im wesentlichen nur die nicht überschleiffähige Anweisungsfolge und man hat eine Ecke in sein Programm geteached. Alte LIN/PTP haben da duzende teilweise auch schwer verständliche mögliche Ursachen, die zum Teil technisch auch daran begründet sind, dass der geteachte Zielpunkt als Fallback angefahren werden muss und nicht an einem Punkt vor oder am besten am Überschleifbeginn angehalten werden muss.

    Ich teile da Woodys Meinung. Meiner Erfahrung nach schlägt der Spline den alten Verfahrbereich an Performance aber auch an Flexibilität und Funktionalität.


    Fubini

    Kurze Antwort nein. Wird immer wieder mal von ABB-Programmieren hier aufgebracht und man findet (insbesondere im englischen Forum) auch einiges dazu. einfach mal danach suchen. Es gibt Leute mit kreativen Ideen, die mit ein paar Klimmzügen schon mal versucht haben ähnliches nachzubauen mit KUKA Mitteln.


    Fubini

    Natürlich kannst du weiter Ausgänge schalten. Weise einfach dem Ausgang den gewünschten Wert zu


    Code
    $OUT[WHATEVER] = #TRUE/#FALSE


    Wenn du eine bessere Antwort willst solltest du mehr Kontext liefern. Aus dem Submit, über ein Programm, über VarKor, über ...?


    Fubini

    Also


    Code
    DISTANCE=1 und PATH = 1

    ist schon mal nicht das gleiche. Bei DISTANCE ist der Parameter als boolsche Variable zu sehen ob am Start oder Zielpunkt geschalten werden soll. Bei PATH bezieht es sich auf den tatsächlichen Weg. Also ob du nach 10 mm, 20 mm, ... schalten willst. Distance Trigger sind generell ein Relikt aus alten Zeiten. Für Spline sollte man am besten immer nur PATH-Trigger verwenden. Den PATH Wert bekommst du falls du ihn am gewünschten Punkt nicht kennst über $DIST_NEXT bzw. $DIST_LAST bzw. $DISTANCE. Außerdem muss man darauf achten ob ONSTART gesetzt ist oder nicht. Generell empfehle ich einfach an die Stelle hinzufahren und dann den Trigger zu teachen. Gibt es jetzt schon länger die Möglichkeit und das ILF kümmert sich dann auch korrekt um die Ermittlung des richtigen PATH-Werts.


    Fubini

    Du meinst wahrscheinlich die Vorjustageposition. Die sind normalerweise über einen kleinen Strich auf z.B. dem Flansch bei A6 gekennzeichnet. Normalerweise sind die auch weiss übermalt. Ausserdem solltest du darauf achten, das der Schriftzug KUKA auf der Hand richtig rum lesbar ist.


    Denn Gegenstift sieht man da nicht, der kommt aber irgendwann an der Justagepatrone vorbei. Wenn du eine Messuhr oder einen Kugelschreiber in die Justagepatrone drückst und ganz langsam die Achse bewegst spürt man das sogar.


    A4 und A6 sind übrigens eigentlich endlos drehend, so dass man die eigentlich egal wo justieren könnte. Da geht es nur um Reproduzierbarkeit sprich die gleiche Position immer wieder zu treffen.


    Fubini

    $CIRC_MODE.AUX_PT.ORI.CONSIDER wenn ich mich recht erinnere. Einfach mal in die Systemvariablendoku reinschauen oder ins bas.src. in dat file sieht man die Info auch in den lcpdat. Daher müsste es die HMI eigentlich auch irgendwo im TouchUp Menü anbieten.


    Code
    DECL LDAT LCPDAT9={VEL 0.10000,ACC 30.0000,APO_DIST 10.0000,APO_FAC 50.0000,AXIS_VEL 11.0000,AXIS_ACC 30.000,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0000,GEAR_JERK 100.000,EXAX_IGN 0,CB {AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}}


    Fubini

    Bei SCIRC kann man im $CIRC_MODE einstellen ob man am Hilfspunkt die Orientierung haben will oder nicht. Ausserdem würde ich mir mal $ORI_TYPE, $CIRC_MODE und $CIRC_TYPE bei den Punkten anschauen. Vielleicht läuft ja auch da was auseinander.


    Fubini

    Warum reservierst du dir dann nicht einfach für die Vermessung ein bestimmtes Tool. Sagen wir mal du machst die Vermessung immer für tool_data[1]. Erst machst du die Vermessung damit und schreibst dir ein kleines Program das die Daten aus der Vermessung anschließend einfach in einen als Parameter auswählbaren anderen Index kopiert?


    Oder ich verstehe es immer noch nicht.


    Fubini

    Mit dem LogViewer. Ist auf jeder Installations-CD von KUKA mit dabei. Einfach das ZIP-File des Archivs per Drag and Drop reinziehen. Außerdem sollte man in KukaLogViewer.cfg unter KxrPath= einen Pfad zu einer aktuellen Meldungsdatenbank (enthält Referenz von Meldungsnummer auf Meldungstext) eintragen. Meldungsdatenbank findest du z.B. als Standard.kxz auf der Steuerung. Funktionier auch mit KRCDiag anstatt Archive.


    Die Installation legt Tools wie den LogViwwer auch direkt auf der Steuerung ab (unter C:/KRC_UTIL glaub ich).


    Im Fall


    Menü-Diagnose-Logbuch. da gibts dann einen Button Archivieren / sichern.

    ist der Export schon ein ASCII File, dass du direkt z.B. mit Notepad++ anschauen kannst.


    Außerdem gibt es bei KUKA noch den KRCDiagExtractor der in der Bedienung eigentlich ähnlich ist und speziell für KRCDiags, die noch mehr Diagnosinformation enthalten als Archive, gedacht ist. Da bin ich mir aber nicht sicher ob den KUKA inzwischen an Endkunden rausgibt. Kannst ja da auch auf der Installations-CD/Image reinschauen ob das da dabei ist.



    Fubini

    Das wurde schon wiederholt hier im Forum diskutiert und ich meine da war teilweise auch der Code dabei. Müsste sich eigentlich über die Suchfunktion finden lassen. Genauso kann man mal im englischen Partnerforum nachsuchen.


    Müsstest dir halt überlegen wo und wie du das haben willst. In KRL? Offline in C/C++/Python/Whatever?


    Fubini

    Setup.exe. Hast du denn auch alle nötige Hardware? Z.B. eine SafeRDC


    Falls du Safety benutzen willst brauchst du die entsprechende Zusatzausbildung und Zertifikate. Welche das sind hängt von dem Land ab in dem du die Anlage betreiben willst.


    Fubini

    Hast du überhaupt eine D Partition. Er scheint keine mit dem Namen zu finden


    08:14:02 .Drive letter HD partition 1: C:\

    08:14:02 .Drive letter HD partition 2: E:\

    08:14:02 .Drive letter HD partition 3:


    Das kommt mir auch komisch vor


    08:15:04 #wimlib write failed: Could not read data from a file (0x32)


    Kannst ja das Logfile auch mal gegen eines von einer Maschine wo es klappt vergleichen.


    Fubini

    You do not seem to have any Safe Package like SafeOperation installed. It only gets configurable/activated if you have a safety technology package.


    Btw. Why do you ask in English. This is a German forum. You could ask in the english forum as well.


    Btw. Your request has nothing to do with the above discussion in this thread so why do you ask here and did not open a new thread.


    Fubini