Ah okay. Gut zu wissen! In dem Fall nur mit Extrazahlung möglich.. schade
aber Vielen Dank
Ah okay. Gut zu wissen! In dem Fall nur mit Extrazahlung möglich.. schade
aber Vielen Dank
auch das ist bei mir nicht der Fall.
Ich habe die WoV Version 6.0.25.
den Punkt "Fernzugriff" oder "Verbinden mit..." habe ich da leider nicht.
folgendes sehe ich da nur:
Du könntest z.b. über den Fernzugriff von WoV eine Verbindung zur Steuerung herstellen und so die Bestätigung am Panel auswählen, aber eine Möglichkeit die Bestätigung übergangsweise zu deaktivieren kenne ich leider auch nicht.
Wie geht das denn? Konnte ich in der Doku von WoV nicht finden.
Du könntest TigerVNC auf den Steuerungen installieren. Wäre zwar ein großer Aufwand, wenn du nur ein mal ein Programm übertragen musst, aber in Zukunft wirst du dir dafür danken. Ist auch für Störungssuche und Störungsbehebung praktisch.
Die Steuerungen müssen trotzdem auf T1 sein, da kommst du meines wissen nicht darüber hinweg.
Das klingt sehr interessant. Werde ich mir mal anschauen, wenn ich etwas mehr Zeit habe! Danke dir
Hallo,
ich habe eine KRC 4 Steuerung.
Ist es möglich für die Übertragung eines geänderten Programms auf die KRC4 Steuerung den Fernzugriff automatisch zu akzeptieren?
Ich habe beim aktuellen Projekt mehrere Roboter und führe Änderungen häufig an allen Robotern aus. Hier nervt es mich, dass ich beim Übertragen immer an jeden Roboter einzeln hinlaufen muss um den Fernzugriff zu akzeptieren.
Vielen Dank
danke dir!
Ich hab die Frage noch an den Kuka Support gestellt, da ich nicht ganz glauben konnte, dass man eine Variable manuell setzen muss um aus der Situation wieder rauszukommen. Das war die Antwort von Kuka:
Zitat von KukaAlles anzeigenmit einem Override von 1% und im Werkzeugkoordinatensystem alternativ achsspezifisch
sollte ein Freifahren möglich sein.
Alternative wäre eine Handachse weich zu schalten.
Dazu sind aber Expertenkenntnisse erforderlich.
Bleibt die Frage, wieso sich der Greifer derart verklemmen konnte.
Hier sollte die Kollisionserkennung aktiviert sein bzw. überprüft werden.
Ich hatte tatsächlich nur versucht im World Koordinatensystem rauszufahren, wobei natürlich immer die betroffene Achse auch angesteuert wird dabei.
Vielen Dank für den Hinweis Robotron. Werde es, falls es nochmal vorkommt, dann mit diese Variable versuchen.
Ich hatte heute auch diese Situation. Ich konnte weder durch Spur-Rückwärts noch durch "Kollisionserkennung-Überbrücken" aus der Verklemmten Situation rausfahren.
woodys: hattest du auch nochmal diese Situation und hast eine Lösung gefunden?
Da ich mittlerweile das Bauteil mit einem Hammer aus der Verklemmung gelöst habe, kann ich es leider nicht mehr testen. Ich weiß, das sollte man eigentlich nicht machen, aber wusste mir auf die schnelle nicht anders zu helfen.
Würde es helfen die Variable $collmon_active_com kurzzeitig auf false zu setzen um herauszufahren? Das gleiche müsste ja eigentlich "Kollisionserkennung-Überbrücken" bewirken?
SJX: aus welcher Dokumentation hast du deinen zweiten Screenshot mit der Beschreibung der Systemvariablen gemacht? Das konnte ich nicht finden.
Vielen Dank für deine Hinweise!!
ich hatte noch ein paar IO Abfragen drin, die kein Continue davor hatten. Durch die Systemvariable konnte ich die dann auch alle leicht aufspüren! Es sind schon ein paar Unterprogramme.
Das Syn Out hat aber keinen Stop ausgelöst.
Jetzt funktioniert es wie gewünscht!
Hallo zusammen,
ich habe das Problem, dass bei meinem Programm die Positionen nicht korrekt überschliffen werden. Hat mir jemand einen Tipp woran das liegen könnte?
In einem anderen Thread habe ich gelesen, dass man vor IF-Verzweigungen CONTINUE schreiben sollte, damit der Vorlaufzeiger quasi entscheidet ob die Position in der If-Verzweigung angefahren wird oder nicht. Leider hat das nicht geholfen.
Der Roboter macht bei P1 einen kurzen Stopp wenn er P1 erreicht. Kann mir jemand sagen woran das liegt? Soweit ich das sehe, habe ich nichts was einen Vorlaufstop auslösen sollte und somit sollte die Bewegung doch flüssig passieren?
2.Frage: Es gibt eine Systemvariable um jeweils einen halt auszulösen, wenn der Vorlaufzeiger gestoppt wurde. Ich hab mir die Variable leider nicht aufgeschrieben. Kann mir jemand sagen wie diese lautet? Vielleicht finde ich damit das Problem.
Mein Programm sieht vereinfacht so aus:
DEF Hauptprogramm()
while(true)
transfer()
CONTINUE
if VariableA then
syn out 134
CONTINUE
if VariableB then
holen()
endif
endif
...
endwhile
END
---------------
DEF transfer()
CONTINUE
if false then
blabla
else
SPTP P1 C_SPL ;mit Inlineformular erstellt
endif
end
--------------
DEF holen()
syn set "Greifer auf"
sptp P2 c_spl ;mit Inlineformular erstellt
...
end
Alles anzeigen
Vielen Dank. Mit dem Stichwort konnte ich im Handbuch Infos über den geometrischen Operator finden uns es ist jetzt klar
Vielen Dank für die schnelle Antwort.
Kannst du mir noch kurz erklären was mit deinem Code genau passiert? Ich bin leider Anfänger.
1: Du deklarierst eine Framevariable mit dem Name fToolOffset
3: was passiert hier? $Nullframe bedeutet alle Koordinaten sind gleich 0?
4: Versatz um 15
6: Was bewirkt der Doppelpunkt?
Wo ist hier der Bezug auf das Toolkoordinatensystem?
Danke für eure Antworten. Ich hab es jetzt wie von fubini gesagt mit einem kleinere override versucht und hatte dann keine überschleifprobleme mehr. Habe dann anschließend den Abstand von vorposition zu Startposition erhöht und es geht auch so. Lag also bei mir wohl an zu kleinen Bewegungen.
Das mit with konnte ich leider noch nicht testen ob das auch gereicht hätte.
Hallo zusammen,
Beim Programmabfahren bekomme ich die Quittiermeldung, dass mein Überschleifen nicht möglich sei.
Mein Programm soll mit maximaler Geschwindigkeit an die "Vorposition" fahren, soll ab hier mit 0.1m/s auf die "Startposition" weiterfahren, dann auf die "Endposition", dann auf die "Nachposition" und ab dann wieder mit maximaler Geschwindigkeit auf die nächste "Vorposition" fahren.
Alle Positionen werden überschliffen.
Die Vor und Nachpositionen sind nur dafür da, dass zwischen Start und Ende sicher 0.1m/s besteht. Das Beschleunigen und Bremsen soll zwischen Vorposition und Start bzw zwischen Ende und Nachposition passieren.
Dieses Bewegungsmuster wird mehrfach wiederholt für mehrere Positionen die sich alle auf einer Achse befinden.
Wenn ich das Abfahre bekomme ich an allen Positionen die Quittiermeldung, dass das Überschleifen nicht möglich sei.
Habe darauf hin die schnelle Phase von 2m/s auf 0.5 m/s gesetzt und die langsame Phase ist weiterhin 0.1 m/s. Nun bekomme ich die Meldung nur noch für die letzten 3 Positionen meiner Schleife. Wenn ich nun den Abstand zwischen Vorposition und Startposition erhöhe, bzw die Geschwindigkeitsdifferenz nochmal kleiner mache, bekomme ich evtl auch diese 3 letzten Meldungen weg. Das konnte ich allerdings noch nicht testen.
Dazu habe ich eine grundsätzliche Frage:
Dadurch dass durch die Geschwindigkeitsreduzierung bei weniger Punkten Probleme mit der Überschleifung verursacht werden (zumindest nach den Quittiermeldungen zu urteilen), frage ich mich wie der Roboter grundsätzlich die Überschleifung regelt. Wenn er die gewollten 2m/s zwischen Nachposition und Vorposition nicht erreichen kann, weil zum Beispiel die Distanz zwischen den Punkten zu gering ist, findet dann kein Überschleifen statt (so scheint es mir nach meinem Versuch)?
Oder regelt er auf die maximal mögliche Geschwindigkeit und sollte eigentlich die Überschleifung dennoch machen (so hätte ich es erwartet und so wollte ich es auch programmieren)? Auch wenn er dabei nicht die geforderten 2m/s erreicht.
Angehängt noch mein Code. Evtl. hab ich auch einfach hier einen Fehler.
Vielen Dank im Vorraus für jede Hilfe!!
;fold Standard-Bewegungsparameter
$Tool=TOOL_DATA[1] ;1=Optik+Halterung
$base=BASE_DATA[2] ;2=Base WT1
$ipo_mode=#Base ;Robotergeführtes Werkzeug
;für LIN und Circ
;Geschwindigkeit
$Vel.CP = 0.5 ;Bahnbewegung LIN oder Circ in m/s
$VEL.ORI1 = 150 ;Schwenkgeschw. in °/s
$VEL.ORI2 = 200 ;Drehgeschw. in °/s
;Beschleunigung
$ACC.CP = 2.0 ;Bahnbeschleunigung in m/s2
$ACC.ORI1 = 150 ;Schwenkbeschleunigung in °/s2
$ACC.ORI2 = 200 ;Drehbeschleunigung in °/s2
;Ruck (Änderung der Beschleunigung °/s3)
$JERK={CP 50.0, ORI 50000.0, AX {A1 1000.0, A2 1000.0, A3 1000.0, A4 1000.0, A5 1000.0, A6 1000.0}}
;Überschleifdistanz (die Entfernung zum Zielpunkt muss den Wert unterschreiten)
$APO.CDIS = 10; in mm
;Orientierung während der Bewegung
$ORI_TYPE = #Var ;während der Bewegung verändert sich Orientierung zur Orientierung des Zielpunktes
;endfold
;Eine Position nach der anderen anfahren
FOR zaehler = 1 TO AnzahlSP STEP 1
;Vorposition, damit bei Schweissstart schon richtiges Tempo vorhanden
slin Vorposition[zaehler] C_SPL
;Geschwindigkeit beim Schweissen auf 0.1 m/s reduzieren
$Vel.CP = 0.1
;Schweissstart ausgeklammert
slin StartSP[zaehler] C_SPL
;Schweissende ausgeklammert
slin EndeSP[zaehler] C_SPL
;Nachposition, damit Geschwindigkeit bis Ende sicher gehalten wird aber Punkt dennoch ueberschliffen wird
slin nachposition[zaehler] C_SPL
;Geschwindigkeit zwischen den Positionen auf 2 m/s
$Vel.CP = 0.5
ENDFOR
Alles anzeigen
ok ja danke. Hatte da gerade ein Verständnisproblem.
Habe nun über die Tool-Daten den Versatz von Flansch-Koordinatensystem zu Tool-TCP ermittelt. Bei mir soll der sichere TCP gleich dem Tool-TCP sein.
danke für die schnelle Antwort.
Allerdings ist bei meinem Roboter kein Flange Koordinatensystem hinterlegt (in der config Dat sind alle Koordinaten der 32 Bases auf 0 und es ist im smartpad auch nur Nullframe als Base auswählbar). In dem Fall kann sich der Roboter auch nicht auf dieses Koordinatensystem beziehen oder? Bezieht er sich nun auf das World Koordinatensystem?
Hallo,
ist schon ein altes Thema, aber meine Frage passt sehr gut dazu.
Beziehen sich die Koordinaten des sicheren TCP dann auf das Tool-Koordinatensystem? Also wenn X=Y=Z=0 dann liegt der sichere TCP mit dem Tool-TCP überein? Das kann ich aus der Betriebsanleitung von SafeOperations nicht rauslesen.
Wieso sollte man den sicheren TCP vom Tool-TCP abweichen lassen? Man will doch immer dass die Geschwindigkeit am Tool-TCP gehalten wird, oder nicht?