Beiträge von Stern_1974

    An sich wird der Offset in "BASE_NEU" geschrieben. BASE_NEU.X, BASE_NEU.Y etc.

    Beinhaltet einen Programmieraufwand.



    Ich empfehle dir wirklich das OrangeEdit. Dies ist die einfachste Lösung, wenn man mit der Programmierung eines Roboters unsicher oder unerfahren ist. Dort musst du nur deine Programme reinziehen und die Positonen Transformieren in XYZABC und spielst die Dateien wieder zurück in den Roboter.

    Ok, ich werde es ausprobieren :)

    $NULLFRAME ist ja auch nur ein BASE, das zufällig im Roboterfuss aks $ROBROOT liegt. Ändert auch nichts an der Vorgehensweise.

    Wo schreib ich die Verschiebung rein.?

    Quasi den OFFSET IN X,Y,Z,A,B,C


    POSITION_NEU = BASE_NEU:INV_POS(BASE_ALT):POSITION_ALT:INV_POS(TOOL_ALT):TOOL_NEU

    Hallo Sliwka,


    damit kann ich aber leider meine Base und Tool nur vermessen, da nichts vermessen ist bringt es mir nicht viel. Oder kann meine geteachten Punkte in $Roboot die Positionen verschieben

    das ist ja eine Base und Tool Verschiebung, meine Roboter sind leider in der Linie nicht vermessen. Meine Idee war, ein Greifer mit einer Spitze zu bauen und jeweils auf eine Spitze am Pressentisch zu verfahren. Dann die Differenz ermitteln von den jeweiligen Pressentische und eben die Verschiebung durchzuführen. Mit einer Base Vermessung hat es geklappt. Da aber alle Roboter nicht vermessen sind, war ich Ratlos.

    Hallo Zusammen,


    wer kann mir bei meinem Problem helfen..??


    Wir haben 2 unterschiedliche Pressenlinien ( Abstand Pressentischhöhe und Abstand Roboter Mittelpunkt zur Pressentischkante ) mit Kuka Roboter. Eine Linie mit KR C2 und die Linie KR C4. Bei beiden Linien ist keine Base vermessen, da alle Punkte ( Werkzeug=Nullframe, Base=Nullframe ) programmiert sind. Man hat das aus einfachen Gründen gemacht, falls man einen Roboter austauschen muss, reicht einfach den Roboter neu zu justieren und die Produktion läuft wieder.


    Jetzt haben wir oft mal das Problem, das wir bei manchen Pressenstraßen Engpässe haben und das eine oder andere Bauteil auf der 2ten Pressenstraße produziert werden soll..!!


    Nun müssen alle Punkte neu getacht werden, da ja die Positionen nicht passen.


    Gibt es eine Möglichkeit, das ich die Punkte auf die andere Pressenstraße übernehmen kann, mit einer Verschiebung ohne Base..??


    Danke im voraus.

    Hallo Hermann,

    danke für deine Antwort.

    ja, in der Variable ist es eher ein Ausgang der die Vakuum1 und Vakuum2 einschaltet. Es gibt zwar auch Eingänge Vakuum1_Ok und Vakuum2_OK, die aber auf ganz andere Eingänge belegt sind.


    Eingang 1 Vakuum1_OK

    Eingang 2 Vakuum2_OK


    Ausgang 17 Vakuum1

    Ausgang 18 Vakuum2


    Das Problem ist, wenn ich 95% den Override aufdrehe und er kein Vakuum hat gibt es ein Mega Chrash..!!,

    Bei Vakuum Verlust wird mein Interrupt aktiviert und hab einen Brake..


    Er kann mir zwar der Brake auslösen aber zumindest soll er mir die Einfahrfreigabe sperren.


    Meine Idee wäre.




    Gruss Nuri

    Hallo Zusammen,


    habe hier ein kleines Problem bei diesem Programmablauf, vielleicht könnt ihr mir HELFEN

    Ab PTP P5 , soll eine Vakuumkotrolle erfolgen und falls es vorhanden ist wird die Freigabe vom Roboter erteilt, das er reinfahren darf.

    Aber ich glaube die Anweisung GRF_STATUS=GRF_ZU() ist keine Abfrage sondern er setz ein Ausgang raus.

    Vakuum_1 und Vakuum_2 sind rein Ausgänge und kein Eingang um ein Vakuum zu kontrollieren.


    Könnt ihr mir sagen was das bedeutet : IF GRF_STATUS==0 THEN, eher die 0.


    Danke im Voraus

    Such mal mit der Suchmaschine deiner Wahl nach 'switch Case' da gibt es jede Menge Erklärungen, wie das funktioniert, nur das break wie bei C benötigt man bei KRL nicht. Das ist nix roboterspezifisches.

    Will hier keinen Programmierkurs geben, das können andere besser.

    Nur soviel: das 1,2,3 führt dazu, dass 3 mal die erste Bahn gefahren wird, dann geht es mit der zweiten weiter usw. das ist dann das was man empirisch ermitteln muss.

    Ich sag es immer wieder : bevor man Roboter programmiert sollte man Programmiererfahrung in irgend einer fast beliebigen Programmiersprache haben, sonst hat man einfach zu viele Baustellen zugleich. Bitte nicht böse sein, anhand der Fragestellung sieht man halt, dass keinerlei Hintergrundwissen vorhanden ist. Das lässt sich aber ganz einfach per Selbststudium aneignen, vorausgesetzt man hat die Zeit und Muße dazu. ;)

    Hallo Hermann,


    nein natürlich bin nixht böse :)

    unsere Firma ist nur geizig mich in einer Schulung zu schicken. Ganz schön traurig muss ich sagen, wo einer wille hat. Muss dann wohl selber eine Schulung beuschen.

    Danke dennoch für deine Mühe..


    Gruß

    Nuri :thumbup:

    Ja klar. Die Sache mit dem ortsfesten TCP finde ich bei Kuka auch etwas gewöhnungsbedürftig. Da hilft evtl. mal die Doku dazu zu lesen.



    So war der Vorschlag.

    Guten Morgen Hermann,

    das hört sich gur an..!!

    hätte noch eine frage:

    Hallo Hermann,


    das bin jetzt ^^ ^^ schon, total verirrt... :)


    ja das stimmt, ich fahr schon mit dem Roboter mehrere Berührungspunkte an. Ich denke wenn ich es schaffen würde, so wie du es geschrieben hast, das ich z.Bsp nur auf 6 Uhr berühre..!!

    Muss ich dann trotzdem die Spitze vom Schleifer als Base vermessen...??


    Hab noch nie dieses switch Case angewendet, wie würde das den aussehen..??

    Verstehe ich das so das ih jede Schleife eine andere Bahnbewegung selber teachen muss..!

    --> z.Bsp: 15 Schleife, mit je 5 LIN/PTP macht in der Summe 75 selber geteachten Punkte.


    Wenn die 15 Schleifen durch sind bekomm ich einen Linienstopp oder HALT


    Schick dir mal das Video wie ich es jetzt gemacht habe..


    Gruß

    Nuri

    Wenn das so genau sein sollte, würde ich den Schleifkern kraftgeführt gegen das Bauteil drücken. Alles andere wird nie so genau sein.

    brauch ich da was externes ( Messgerät ) oder kann ich das im Programm auch machen und wenn ja, wie...??


    Hallo KV,

    wie kann ich das generieren oder schreiben ins Programm..?


    Aber wozu brauch ich die Ein/Ausgänge...??


    Eigentlich bräuchte ich immer die exakte Bahn..!! Es ist nicht sicher das ich 5 oder 6 Abläufe fahren kann. Deswegen ist es Sinvoll das der Roboter bei jedem Zyklus minimal ( Als Beispiel 0,5 mm ) eine Bahnkorrektur Richtung Schleifkern selber durchführt.


    Bin aber ehrlich und weiss nicht genau wie man das macht.


    Ich kann schon eine Tool ( 4 Punkt ) oder Base ( 3 Punkt ) vermessen, aber wie ich das in kombnation, verbunden am schleifer oder am Bauteil machen soll.


    Dann noch eben die Berechnung, das er selber um das Maß korigieren soll.


    Gruß

    Nuri

    Hallo KV,


    Muss ich das über Liniensteuerung ansteuern..?? und wöfür ist IN67..??

    Der IN 68 ist ja nur die Einfahrfreigabe..


    Das mit dem Stückzähler hatte ich auch vor aber wie würde ich zum Beispiel nach 10 Abläufe einen Stopp erzwingen..??


    Wie soll ich verstehen, was du mir bei deneim zweiten Beitrag sagen wolltest..??

    Für jeden Abnutzungsgrad einen anderen TCP definieren..?

    10 Abläufe -->10 Werkeug-TCP


    Gruß

    Nuri