Überschleifen von LIN-Befehlen

  • Schritt für Schritt zum Roboterprofi!
  • Hi, ich hab jetzt mal die Bewegung auf PTP geändert und den Punkt etwas vom Schutzzaun nach innen gezogen. Das hat etwa 1 Sekunde gebracht. Sind nun bei 29 von geforderten 30 Sekunden Taktzeit. Vel_act liegt meistens unterhalb von 1 in der gesamten Anlage. An wenigen Punkten wird die 1 überschritten. Die Geschindigkeit wird ja nur durch $APO.CPTP, $APO.CVEL und $APO.CDIS angegeben? Oder gibt es noch weitere Patameter, um die Geschwindigkeit zu regulieren?


    Grüße Oma

  • $APO.CPTP, $APO.CVEL und $APO.CDIS

    Das sind die Parameter für das Überschleifen.


    $vel.cp, $ov_pro und $acc.cp

    $VEL_AXIS[X] = 100 wäre Geschwingigkeit für PTP Bewegungen. X wäre die Achse. Macht man dann für alle 6 Achsen.

    $ACC_AXIS[X] = 100 wäre dito für Beschleunigungen.

    $VEL.CP = x.x wäre TCP Geschwindigkeit für LIN Bewegungen

    $OV_PRO = 100 wäre Programmoverride

    $RED_VEL = 100 wäre Reduzierfaktor für Programmoverride

    SafeOperation Einstellungen! Hier wird vermutlich das Problem stecken. Poste bitte diese einmal.


    Also mal die Variablen $sr_vel_red und $sr_ov_red kontrollieren und ggfs testweise auf false setzen.

    Hast Du Tip von Hermann mal angeschaut?

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Wenn ich die SafeOperation deaktiviere läuft der Roboter wesentlich schneller.

    Hier mal die oben genannten Werte der Variablen:

    vel_axis 1-6 = 100

    acc_axis 1-6 = 100

    vel.cp = 2

    acc.cp = 2,3

    ov_pro von SPS

    red_vel = 100


    sr_vel_red = true

    sr_ov_red = 75


    In der SafeOperation-Doku finde ich nichts zu den beiden sr_... Variablen. ich vermute mal, dass die sr_vel_red angibt ob reduzierte Geschwindigkeit aktiviert ist und die sr_ov_red die reduzierte Geschwindigkeit darstellt. D.h. dass der Roboter so wie oben geschrieben von den Beschleunigungen und Geschwindigkeiten auf Vollgas steht, aber die SafeOperation limitiert die Geschwindigkeit generell auf 75%...


    Was macht dann mehr Sinn? Mit False ausschalten oder auf 95% setzen?

    Hat der sr_vel_red noch andere Auswirkungen außer der Reduzierung der Geschwindigkeit?

  • Irgendjemand von Euch / Eurer Firma hat die Sicherheitsparameter festgelegt.

    Unter anderem diese Begrenzung.

    Bitte halte Rücksprache mit dieser Person!

    Diese wird wohl diese max. Geschwindigkeit berechnet haben.

    Einfach erhöhen von Safety-Parametern ist ein Verstoss und Du trägst die Verantwortung.

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Irgendjemand von Euch / Eurer Firma hat die Sicherheitsparameter festgelegt.

    Unter anderem diese Begrenzung.

    Bitte halte Rücksprache mit dieser Person!

    Diese wird wohl diese max. Geschwindigkeit berechnet haben.

    ...

    In einer idealen Welt ist das wohl so. In der Realität ist das dann doch meist anders.

    Z.Bsp.: Der Einrichter weiss nicht, dass das "sr_vel_red=true" dafür sorgt, dass die in der Safekonfiguration hinterlegte maximale kartesische Geschwindigkeit STÄNDIG um dem Prozentsatz aus "sr_ov_red" reduziert wird.

    Der Einrichter ist sich nicht bewusst, dass das sr_vel_red und sr_ov_red keine echten Sicherheitsparameter darstellen (liegen nicht in kennwortgeschützten und prüfsummenkontrollierten Safekonfiguration, kann also ohne weiteres geändert werden).

  • Der gute Herr von KUKA meinte, die 75% sind ein Standardwert, da hat er nichts angepasst. Und berechnet wurden die auch nicht. Man müsse sich nur im klaren sein, dass die Bremswege bei höherer Geschwindigkeit natürlich länger sind und es unter ungünstigen Umständen dazu kommen kann, dass der Roboter in den Schutzzaun fährt.

  • Ich habe ein ziemlich ähnliches Problem, auf einer etwas älteren KRC2 (V4.1.7 SP08 HF1):

    Ich fahre einige Punkte mit folgenden Befehlen an:


    $ADVANCE = 1
    LIN Frame1 C_DIS

    LIN Frame2 C_DIS

    LIN Frame3 C_DIS

    LIN Frame4 C_DIS

    LIN Frame5 C_DIS

    usw...


    Es mus mit LIN sein weil es eine Kurve abfährt, die genau abgefahren werden soll. $APO.CDIS ist auf 2.0 (habe ich beobachtet während dem Verfahren) -> dies soll einigermassen klein sein da gewisse Punkte nahe beieinander liegen (1,2,3,... mm), andere weiter weg (10mm, 20mm, ...).


    Ich habe auch das Gefühl, dass das Überschleifen funktioniert, da es sonst ja wirklich ruckeln würde. Aber es bremst immer ab vor ein neuer Punkt kommt und beschleunigt dann wieder. Da ich mit dem Roboter dispensen will, geht das natürlich nicht, da dann bei den Punkten immer Blobs vorhanden sind...


    Das gleiche Problem habe ich auch mit LIN ... C_VEL (statt C_DIS) wobei $APO.CVEL immer =100 ist beim beobachten. $ADVANCE habe ich auch =3 gesetzte: gleiches Problem


    Weiss jemand was ich noch prüfen / beobachten / einstellen soll? Vielen Dank!

  • Und mit was für einer Geschwindigkeit und Beschleunigung willst Du fahren / aktuell eingestellt ?

    Was erreichst Du aktuell ?

    Hast Du einen Film, oder mind. eine Skizze mit eingezeichneter Punktdichte, wo man Dein Problem mal optisch sieht?

    Mechaniktyp ?

    Aktive Lastdaten während Bahnfahrt ?

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Was ich nicht ganz nachvollziehen kann, wieso muss man mit LIN Bewegungen eine Kurve fahren???

    Das macht doch überhaupt keinen Sinn oder hab ich was verpasst?

    Die Singularität einer Achse kann den Roboter dadurch verlangsamen, daher ist mir klar das die Roboter mal langsam fahren.

    Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

  • Ja, in so einem Fall sollte man wirklich nicht einen fast zwei Jahre toten Thread wieder ausgraben, sondern einen neuen erstellen. Ist ja nicht mal die selbe Steuerungsgeneration.


    ... da gewisse Punkte nahe beieinander liegen (1,2,3,... mm) ...

    Das ist häufig ein Problem, da gibt's fast immer Probleme mit der Geschwindigkeit. Ist immer ein Rumgeschraube an den ganzen schon genannten Parametern und Punktekoordinaten. Weiss jetzt nicht, ob auch $vel.ori1, $vel.ori2, $acc.ori1 und $acc.ori2 genannt wurden.


    Ein kurzer Film würde da sicherlich helfen können.

  • Vielen Dank für die vielen Inputs!

    Hab heute bereits etwas rumgespielt. Werde in ein paar Tagen noch mal weiter probieren und dann auch ein Film der Situation machen.

    Alle Bearbeitungsapplikationen vermutlich, denn nicht alle Kurven sind Kreisbögen.

    Genau, sorry, hab mich nicht ganz gut ausgedrückt: Es soll ein Pfad gegben durch Punkte in ner Ebene abgefahren werden. Da brauchts schon LIN sonst bleibt ja der Roboter nicht unbedingt in der Ebene während er von Punkt 1 nach Punkt 2 fährt, also der Pfad soll mit Geraden Linien zwischen den Punkten abgefahren werden mit anderen Worten, während er beim Fahren mit einer Düse Material aufträgt...

    Gruss

    Luke

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