$VEL_AXIS $OV_PRO $VEL

  • Schritt für Schritt zum Roboterprofi!
  • Hallole,


    Bas(#vel_cp,0,1) und $vel.cp=0.2 bewirken genau das selbe.
    Wenn mann das Tool mit Bas.SRC setzt, werden Maschinenparameter (nicht Bewegungsparameter) abhaengig von der Werkzeuglastdaten gesetzt.
    Die heisen dann DEF_Vel.. und DEF_ACC... - wie Kuka das mit der Garantie sieht, weis ich nicht! Mann kann damit aber Taktzeit machen.


    Gruss Stefan

  • Hallo, kai_n,


    1.)
    sowie ich das mit $OV_PRO sehe, wird bei der Änderung des Wertes auf <100 nicht nur die Geschwindigkeit, sondern auch die Beschleunigung gleichermaßen verringert, deshalb sind 75% $OV_PRO nicht nur 75% Geschwindigkeit, sondern auch nur 75% Beschleunigung. Ich habe vor Jahren mal Schätzungen machen müssen, weil mein Roboter einem externen Gerät die gleiche Geschwindigkeit vorgeben musste, die er selbst hatte. Mit einer selbst erstellten Formel habe ich die Robotergeschwindigkeit bei verringertem $OV_PRO ausgerechnet, allerdings ohne die verringerte Beschleunigung, das war mir erst später aufgegangen.


    2.)
    Wenn die Robotersteuerung den anzufahrenden Punkt incl. der Geschwindigkeits- u. Beschleunigungswerte berechnet hat, kann man, soweit mir bekannt, darauf keinen Einfluss mehr nehmen. Der Punkt ist dann einfach erledigt, die Steuerung wendet sich ja bereits dem nächsten Punkt zu, in Abhängigkeit von $advance. Wäre es möglich, das Schaumgummi zu suchen, indem man mit dem Roboter so weit fährt, bis der Analogsensor einen bestimmten Wert hat?


    Gruß


    PA

  • Hallo Kai,


    vielleicht noch eins zu dem Thema:


    $VEL(.cp/.ori1/.ori2) gilt für den Vorlaufzeiger


    $VEL_C (.cp/.ori1/.ori2) gilt für den Hauptlaufzeiger !!!!

    Die Abnahme von GOTO Anweisungen verhält sich reziprok zur Qualität einer Programmierung

  • Erst mal vielen Dank für die Infos. Es geht darum, den Roboter ab zu bremsen, wenn die Kraft steigt, um genauer anhalten zu können, wenn die Kraft gross genug ist.
    Die Sache mit dem Vorlauf und Hauptlaufzeiger habe ich bis jetzt nicht verstanden, da wäre ich für ne genauere Erklärung dankbar. Wenn der Vorlaufzeiger sich auf $advance bezieht verstehe ich nämlich nicht, in wie fern da ne Geschwindigkeit interessant ist...

    If you and DEAD people can read Hex, how many people can read Hex?

  • Hallo, Kai,


    der Vorlaufzeiger bezieht sich auf $advance. Es werden soviel Punkte berechnet, wie $advance vorgibt, und darüber hinaus, bis der Vorlaufzeiger vor der Punktanweisung $advance+1 steht. Darauf muss man besonders bei der Abfrage von Sensoren achten, da bei einem zu großen Vorlauf beispielsweise der Sensor für einen Aktor bereits ausgewertet wird, bevor im Hauptlauf der Aktor überhaupt bewegt wird.


    Beispiel: An einem bestimmten Punkt soll ein Zylinder ausgefahren werden, der Sensor dafür soll einen Punkt später abgefragt werden. Bei einem $advance=3 ist der Vorlaufzeiger bereits bei der Sensor-Abfrage, bevor im Hauptlauf der Zylinder ausgefahren wurde. Der Hauplauf ist das, was man auf dem KCP als Pfeil links neben den Programm-Zeilen sieht, der Vorlauf (wie beschrieben) entspricht $advance.


    Für die Bahnplanung braucht der Roboter natürlich auch Geschwindigkeiten. Wie ich feststellen musste, sind deutliche Geschwindigkeits- bzw. Beschleunigungsdifferenzen zwischen 2 aufeinander folgenden Punkten problematisch. Besonders, wenn der 2. Punkt deutlich langsamer als der 1. Punkt ist, fährt der Roboter den 2. Punkt nicht so langsam wie vorgegeben. Das mag bei meinen Programmen daran liegen, dass ich einen $advance=1 wg. oben beschriebener Sensorik-Abfragen benutze. Wenn ich also einen Suchvorgang einleiten will, der mit langsamer Geschwindigkeit läuft, muss der letzte Punkt vor dem Suchen bereits entsprechend langsam sein. Wenn man das anders machen kann, ohne $advance>1 zu setzen, wäre ich für Hinweise dankbar.


    Ist die Antwort passend auf die Frage?


    Gruß


    PA

  • Nahezu. Das ich beim Hauptlaufzeiger ne Geschwindigkeit setzen kann, leuchtet mir ein. Aber die Geschwindigkeit des Vorlaufzeigers wird ja überschrieben, so bald der entsprechende Punkt beim Hauptlaufzeiger ankommt. Wozu brauche ich diese Geschwindigkeit dann?
    Du kannst den Vorlaufzeiger mit Hilfe von
    WAIT SEC 0
    stoppen, wenn ich das richtig verstanden habe. Dann kannst Du $advance erhöhen, ohne dass die von Dir beschriebene Problematik auftritt.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Hallo, Kai,


    wenn ich Wait sec 0 oder ähnliches setze, überschleift der Roboter die Bewegungen nicht, genau so, als hätte ich $advance=0 gesetzt. Aus Geschwindigkeitsgründen und für den sanften Transport meines Packgutes brauche ich einen kontinuierlich laufenden Roboter.


    Die Frage "Aber die Geschwindigkeit des Vorlaufzeigers wird ja überschrieben, so bald der entsprechende Punkt beim Hauptlaufzeiger ankommt. Wozu brauche ich diese Geschwindigkeit dann?" verstehe ich nicht. :nocheck:


    Gruß


    PA


  • $VEL(.cp/.ori1/.ori2) gilt für den Vorlaufzeiger


    $VEL_C (.cp/.ori1/.ori2) gilt für den Hauptlaufzeiger !!!!


    Naja, welche Geschwindigkeit beeinflusst $VEL, wenn doch die Geschwindigkeit, mit der der Roboter fährt, durch die Geschwindigkeit des Hauptlaufzeigers, also $VEL_C beeinflusst wird?

    If you and DEAD people can read Hex, how many people can read Hex?

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden