Soo, nu komm ich auch endlich mal wieder dazu mich zu melden...
Ja ihr habt da schon recht, ich werde an den Robi gesetzt mit nem Aktenordner in der Hand und dann heißt es "mach mal"...
Haben sie damals mit dem alten Kuka IR 363/6 mit KRC32 Steuerung mit mir gemacht und nu machen sies mit dem schicken Kuka KR30 L16 und KRC 2 Steuerung...
(Damals als Praktikant, nu als HiWi :D)
Ich steh hier teilweise wirklich wie ein Ochs vorm Berg, aber et hilft ja nichts.
Nun zu euch:
- Jo, PTP ist nicht wirklich linear --> weiß ich. Aber um erstmal die HOME Position anzufahren ist es doch der schnellste Weg oder?
Ich muss dazu sagen, dass ich im Moment nur den Robi bewege, das Schweißen kommt dann später, wenn oder falls ich mich mit dem Robi genug auskenne. Hier gehts erstmal um die Theorie der Bewegungen, Orientierungen und des Programmierens.
- Das mit dem CONT habe ich bereits versucht, allerdings ohne weiter etwas zu definieren (C_DIS oder so)
Allerdings stoppt der Robi zwischen den beiden Halbkreisen immernoch, einen schönen großen Kreis hab ich noch nicht in einem Rutsch hinbekommen. Er meldete mir "Überschleifen nicht möglich"
- Die Stelle wo der Draht rauskäme scheint in etwa im Zentrum der Achse A6 zu liegen, allerdings (wie es denk ich mal normal ist) unter einem Winkel von etwa 30°.
Mein Problem ist, dass wenn ich ihm für eine CIRC Bewegung im Inline Verfahren Punkte teache, er mal ohne Umorientierung genau den Kreisbogen nachfährt, wie ich es möchte und ein anderes mal (bei mir 2. Halbkreis) dreht sich plötzlich der Robi um das TCP... Beidemale habe ich die Halbkreise einfach so geteached, dass er erst in der Y-Achse um 100 nach rechts fährt und um 100 (Z-Achse) nach unten --> Hilspunkt
dann wieder 100 nach unten und nun wieder 100 nach linkst --> Zielpunkt --> Halbkreis...
Nur durch $CIRC_TYPE=#BASE hat er beide so geteachten Kreise auch wirklich so nachgefahren, wie ich es erwartet hätte. Wenn ich also einen Stift ans Tool kleben würde, könnte ich damit an eine Wand einen Kreis malen
==> Nu gehts aber um Schweißbewegung (ob stechend oder schleppend ist jetzt noch unklar)
- BASE und TOOL nicht vorgegeben? öhm, also bei den geteachten CIRC bewegungen nimmt er doch TOOL[1]: Schweißpistole und BASE[0]
==> Versteh ich da was falsch? Muss ich ihm erstmal sagen, welche BASE er nehmen muss?
Habe heute mal versucht ihm eine neue BASE zu geben (3P-Verfahren) --> Diesmal quasi ein virtueller Tisch in der X-Y Ebene. Habe diese BASE unter Nummer 2 gespeichert und im Programm dann folgendes geschrieben:
$BASE=BASE_DATA[2] --> Ist das so schonmal richtig?? Muss ich ihm dann auf der rechten Bildschirmseite auch noch das BASE Koordinatensystem geben oder ist das nur fürs Hand-Verfahren?
- C_PTP und C_DIS: Verstehe ich jetzt so, dass das die Befehle sind, wenn ich ihm manuell Punkte gebe und ihm den Überschleifmodus sagen möchte, richtig? C_DIS meint dann einen festen Abstand C_Vel eine bestimmte Geschwindigkeit?
--> Irgendwie fehlt mir in der Doku mal eine richtige schöne Programmieranleitung... Von vielen Befehlen wird überhaupt keine Syntax gegeben... Schätze, die wollen, dass man eine Schulung besucht, oder?
- Werte A, B und C nicht auf 0 setzen? Tja, wenn ich das mache, dann drehen die Achsen 4-6 total durch. Zum Beispiel bei der unteren Kante meines Quadrats, wo er "nur" entlang der Y-Achse konstant fahren soll drehte sich die Achse A4 auf einmal immer schneller rum, was entweder dazu führte, dass der Robi wegen eines Soll-Geschwindigkeitsfehlers an Achse 4 oder wegen eines zu hohen Getriebemoments an Achse 4 gestoppt wurde... Die Werkzeugspitze eierte bei der Bewegung außerdem wie betrunken die Linie entlang... Das Problem mit dem Stop (Soll-Geschwindigkeit) konnte ich nur beheben, indem ich die Linearbewegung an einer anderen Stelle ausgeführt habe, dadurch musste er bei der Bewegung die Achse A4 nicht so schnell drehen, aber erst als ich A-C fest auf 0 gesetzt hatte blieb die Orientierung so konstant wie ich es wollte.
NEUE PROBLEME:
Habe mal probiert eine Bewegung zu einem von mir (Im Hauptprogramm) initialisierten Punkt zu schreiben...
FRAME ist wenn ich das richtig verstehe ein STRUCT, in dem ich einen Punkt in kartesischen Koordinaten speichern kann.
( STRUC FRAME REAL X, Y, Z, A, B, C)
Es klappt vorne und hinten nicht:
<DECL> FRAME posi
FRAME posi
--> Wie deklariere ich eine Positionsvariable?
posi = {0,0,0,0,0,0}
posi = {X 0, Y 0, Z 0, A 0, B 0, C 0)
--> wie weise ich der Variablen dann Werte zu?
PTP posi
LIN posi
--> Wie fahre ich dann diese Position an?
==> Ich habe C programmieren gelernt und bin im Moment dabei C++ zu lernen, aber das hilft mir hier nicht weiter...
Ich bekomme ständig "Unzulässiger oder nicht bekannter Satz"
Bei C würde ich jetzt meinen, ich hätte vergessen eine Library zu includen, aber ich schätze mal eher in der Config.dat oder sonst wo muss ich was ändern, kann das sein?
Soooo, wer es tapfer durchgehalten hat meine inkompetenten Fragen bis hier durchzulesen hat sich wahrlich einen KEKS verdient!
*einentellerkeksebereitstellt*