Beiträge von Chorsch76

    Ja bin im Expert Modus. Habe mal alle FOLDs geöffnet, kann aber keinen Fehler sehen.

    Werde wohl die Zeilen mit dem Fehler löschen und neu teachen. Mal sehen. Danke für die Info.

    Moin.


    Ach es ist verzwickt. Jetzt habe ich das Endloop incl. end gelöscht und neu eingegeben und der Fehler ist weg. Nun werden aber Ausgänge auf dem Bus geschaltet, wenn sie noch nicht dran sind. Es scheint mir das die Programmreihenfolge nicht mehr eingehalten wird, weil ich Zeilen zwischendrin eingegeben und andere gelöscht bzw. ausgeschnitten, kopiert und eingefügt habe um das Programm abzuändern und zu erweitern. Kann man igrentwo ein detailierteren Programmcode sehen, um das genauer zu überprüfen?


    VG Chorsch

    Nein Programm war abgewählt und über Öffnen bin ich im Editor, dann programmieren und schließen. Dabei speichern. Anwählen geht nicht, weil dann Fehler angezeigt werden. Manchmal werden mit Fehler in Zeile 300 angezeigt, obwohl mein Programm nur 100 Zeilen im Editor hat.


    Alles komisch.

    Hallo zusammen,


    ich habe mal wieder ein Problem mit meinem Kuka KR2 150.


    ich habe den Befehl endloop gelöscht und probehalber in einer anderen Zeile eingegeben, da ich die darunterliegenden Programzeilen in eine Unterroutine bringen wollte. Das hat alles nicht so gelappt wie ich wollte und ich habe dann das endloop wieder gelöscht und unten drunter geschrieben.


    Jetzt bekomme ich den Fehler ausgegeben, dass der zugehörigen End-Satz fehlt. Ich habe den doch da wieder hingeschrieben. Kann dem nicht folgen, was ich falsch mache. Ich habe den Eindruck, dass mein Loop oben nicht mehr mit meinem hingetippten endloop verbunden ist.


    Das gleiche Thema habe ich mit den Unterfunktionen. Wenn ich DEF test() dann das Programm und END schreibe, scheinen die Befehle nicht verbunden.

    Oder wenn ich einen Kommentar eingebe und in die Zeile tippe ; das ist ein test... wird mir der Text in schwarz angezeigt und nicht in Braun, da habe ich aber schon festgestellt, dass es unter Befehle einen Button Kommentar gibt. Warum kann ich das nicht einfach in die Zeile tippen? ich bin etwas irritiert.


    Danke für Eure Hilfe.


    VG Chorsch

    EricH


    Ja, ich könnte ja auch mehrere Unterprogramme:


    1. Werkstück anfahren

    2. Werkstück bearbeiten

    3. Werkstück verlassen

    ...


    machen, aber wie rufe ich die Unterprogramme dann gezielt auf? Und die muss ich dann auch aus der Interruptroutine aufrufen können.


    Vielleicht so? Hier mal grob skizziert, ich hoffe Du kannst meinem Gedankengang folgen:



    Definition Interrupt

    ************************Hauptprogramm**********************************

    loop

    if Stufe == 0 then 'Home anfahren'

    Pos. 1 'Home'

    Stufe = 1

    endif


    if Stufe == 1 then 'Werkstück anfahren'

    Pos. 1

    Pos. 2 ... bis die Hand richtig vor dem Werkzeug steht

    Stufe = 2

    endif


    if Stufe == 2 then 'Werkstück bearbeiten'

    Pos. 1
    Pos. 2 ... bis Interrupt kommt

    Stufe = 3
    endif


    if Stufe == 3 then 'Werkstück verlassen' Pos. 1
    Pos. 2 ... bis Hand in gewünschter Verlassenposition steht

    Stufe = 0
    endif


    if Stufe == 4 then 'Werkstück austauschen' Pos. 1

    Pos. 2 ... bis Hand in gewünschter Position nach dem Werkstückwechsel steht Stufe = 1

    endif


    if Schalter1 == true then 'Home anfahren und parken solange Schalter1 geschaltet ist' Pos. 1 'Home'

    brake

    else

    Stufe = 0
    endif


    endloop

    ***********************Interruptroutine*********************************


    Def Drehmoment()

    brake

    Stufe = 3

    end

    **********************************************************************


    Ist mein Ansatz so umsetzbar und bei der Rückkehr aus der Interruptroutine wird direkt in die If-Bedingung Stufe 3 gewechselt oder geht der erst zurück in Stufe 2, weil die beim Interrupt die Stufe2 verlassen wurde ?


    VG Chorsch

    Guten Morgen,


    ok die Leistungswerte des Motor werden mir nun angezeigt und ein Interrupt bei Überschreitung ausgelöst. Könne mir denken das ich mit der Ungenauigkeit leben kann.


    Nun habe ich in die Interruptsubroutine eine Brake einfügt und bei Überschreitung bleibt der Roboter stehen. Soweit so gut. Dann habe ich dort ein GOTO FERTIG eingegeben, damit er an den Punkt FERTIG: im Hauptprogramm springt und den Greifer löst und und sich vom Werkstück entfernt. Jedoch erhalte ich dann die Fehlermeldung: "unzulässiger oder nicht bekannter Satz"


    Wie komme ich im Programm dann nach dem Interrupt zurück in die bestimmte Zeile im Hauptprogramm?


    VG Chorsch

    Hallo SJX,


    ja , ich habe schon vorher angenommen, dass das nicht so exakt ist. Der ganze Roboter ist für mich erst einmal ein Bastelobjekt als Versuchsballon zum Testen. Ich habe eigentlich schon viel zu viel Geld in das "Hobby" gesteckt. Würde gerne trotzdem mal den Momentbetrieb testen und mir selber ein Bild machen, ob ich da mit leben kann.


    Wie bekomme ich das denn mit dem Momentbetrieb hin. Kann ich die Momente live permanent selbstaktualisiert irgentwo sehen und in eine Variable übergeben, damit ich eine Interrupfunktion auslösen kann?


    Danke für die Hilfe.


    VG Chorsch

    Ohne dass ich dir eine Lösung bieten kann: Wie genau der Momentenbetrieb funktioniert und angewendet werden kann unterscheidet sich nicht anhand vom Roboter sondern von der Steuerungsversion und den Softwareversionen. Darüber sagst du leider nichts.


    Ic

    Hallo fubini,


    sorry, Serie 2000 KRC2 weitere Daten im Anhang

    Hallo Zusammen,


    ist es möglich die Momentüberwachung beim Kuka KR2 150 als Drehmomentüberwachung für das Anzugmoment von Schrauben zu nutzen?


    Ich haben den Roboter inzwischen so weit, dass der entlos die Achse 6 dreht und Gewinde schneiden kann. Jetzt möchte ich verscheidene Schraubengrößen z.B. mit 10-90 Nm mit der Achse 6 und einem 3-Backengreifer einschrauben. Mein Gedanke ist, die Momentüberwachung der Achse 6 auszulesen und wenn z.B. die 90 Nm überschritten werden, soll das Drehen der Achse 6 gestoppt, der Greifer gelösst und weggefahren werden.


    Ist das überhaupt so möglich oder brauche ich einen exteren Drehmomentsensor der einen Interrupt auslöst? Wie könnte ich das programmtechnisch mit der Monentüberwachung umsetzten? Hat jemand vielleicht ein Beispielprogramm für mich?


    VG Chorsch

    Hallo Hermann,


    sicherlich kann ich das testen. Ist aber auch nicht mal eben gemacht, plus der Gefahr noch was dabei zu schrotten. Dann kann man doch besser fragen, vielleicht hat jemand schon Erfahrungen gemacht.


    Viele kleine Schritte hört sich nach viel Arbeit an. Vielleicht hat jemand ja auch noch einen Kniff um das einfach zu lösen.

    Und, ja meine Apparat ist ein Ausgleichsfutter mit Drehmomentkupplung, sonst würde ich dass händische anlernen nicht anpacken wollen.


    Gruß Georg

    Hallo Hermann,


    sicherlich kann ich das testen. Ist aber auch nicht mal eben gemacht, plus der Gefahr noch was dabei zu schrotten. Dann kann man doch besser fragen, vielleicht hat jemand schon Erfahrungen gemacht.


    Viele kleine Schritte hört sich nach viel Arbeit an. Vielleicht hat jemand ja auch noch einen Kniff um das einfach zu lösen.

    Und, ja meine Apparat ist ein Ausgleichsfutter mit Drehmomentkupplung, sonst würde ich dass händische anlernen nicht anpacken wollen.


    Gruß Georg

    Hallo zusammen,


    da taucht bei mir noch eine Frage für meinen Kuka KR2 150 auf, bevor ich was Crashe .


    Ich möchte ein Gewinde G1/2" in eine Bohrung schneiden, dazu habe ich am Werkzeugwechsler einen Gewindeschneidapparat mit dem G1/2" Gewindebohrer.


    Die Achse 6 habe ich auf endloses Drehen umgestellt. Um die Achse 6 als endlosdrehend zu konfigurieren, müssen Sie in R1/MADA/$MACHINE.DAT den Eintrag $AXIS_TYPE[6] auf 5 ändern. Ich habe das auch in der Backupdatei gemacht. Andere Funktionstypen für die Achse findet Ihr im Anhang.


    So nun zum Eigentlichen:


    Ich muss ja nun die Achse 6 im Koordinatensystem LIN in mm / sek ins Bohrloch bewegen und zeitgleich die Achse 6 in Grad / s drehen.

    Wie bekomme ich das am besten hin, z.B. bei einer Gewindesteigung von 2mm?


    1. LIN über Bohrlochachse vor das Bohrloch fahren und die Position anlernen, wenn der Gewindebohrer 1mm vor dem Loch steht.
    2. zurückziehen, Bohrer entnehmen und wieder auf die eben gespeicherte Position vorfahren.
    3. dann wieder Achse 6 20mm mit LIN über Bohrlochachse reintauchen und Achse 6 10,5 mal drehen lassen, um dann die 2. Position zu speichern
    4. zum Gewindebohrer herausdrehen das ganze umgekehrt und dann 3. Position speichern

    Ist mein Ansatz so richtig, oder fährt die Achse 6 dann 20mm rein, aber dreht sich nur 0,5 Mal?

    Wird beim entlosdrehen der Achse 6 die Anzahl der Umdrehungen gezählt und auch so ausgeführt, oder wird nur in der Drehung zwischen Startwinkel und Endwinkel versellt?


    Ich habe nur erfahren, dass man bei jedem Arbeitsgang die gleiche Anzahl an Umdrehungen vorwärts und dann wieder zurückdrehen soll, da sonst irgentwann die Variablenspeicher überlaufen können und es zu einer Störung kommt. Das kann passieren, wenn man z.B. tagelang Schrauben mit einen Steckschlüssel nur in einer Richtung dreht!


    Schon mal danke für Eure Hilfe.


    VG Chorsch

    Hallo Hermann,


    das erste Problem konnte ich inzwischen selber lösen. Beim setzten der Out Ports war die Variable "Const" eingetragen und somit aktiviert. Die habe ich rausgenommen und dann lief es. Habe sonst im Expertenmodus angelernt, jedoch einmal nicht. Wenn man nicht im Expertenmodus anlernt, setzt der wohl automatisch "Const". Das war der Schlüssel des Übel.


    Danke für den Tipp mit "TouchUp", damit klappte es. Ich war der Annahme, dass "TouchUp" nur für das Ändern der Homeposition war. Habe wohl die Bedienungsanleitung falsch verstanden.


    Weihnachtliche Grüße, Chorsch

    Hallo,


    entlich bin ich mit meinem Kuka KR2 150 weiter gekommen und lerne das erste Programm an und habe 2 Fragen.


    Nun habe ich ein Phänomen, was ich mir nicht erklären kann. Ich habe an meine Feldbus I/O Ausgangsports den pneumatischen Werkzeugwechsler angeschlossen und die Ports arbeiten wie sie sollen.


    Jedoch, wenn ich eine Outfunktion über "Zeile löschen" aus dem Programm entferne und dann da was anderes wie PTP in die gleiche Zeile bringe, schaltet mir später im Automatikbetrieb an genau der Stelle mein Out und ich verliere mein Werkzeug. Der Programmbefehl Out wurde doch gelöscht, warum schaltet der Ausgang dann da trotzdem?


    Etwas Ähnliches habe ich auch, wenn ich eine angelernte PTP Position anfahre, dann manuell verfahre und nachjustiere, auf "ändern" klicke, dann auf "Befehl OK". Dann fährt der mir nicht die korregierte Position an, sondern die vor der Nachjustierung zuerst gespeicherte Position.


    Was mache ich falsch?


    Gruß Chorsch