Problem beim Punkte verschleifen

  • Hi,


    ich habe bei einem Kunden das Problem, das ich Punkte verschleifen muss, um die Taktzeit zu verbessern.
    Bisher war das auch kein großer Aufwand, aber grade beiße ich mir an einem Stück Programm die Zähne aus.
    Vielleicht könnt ihr mir da weiterhelfen?! :mrgreen:


    Ich verschiebe einen geteachten Punkt in einem Karton zum Palettieren von Teilen.
    In Z-Richtung ca. 300mm darüber verschiebe ich den Vorpunkt permanent mit.


    Vor dem Karton ist ein fester Punkt geteacht, über den ich in die die Karton Positionen fahre.
    Diesen Punkt möchte ich gerne verschleifen... leider funktioniert hier das C_PTP nicht wirklich...


    Kann es daran liegen, das der darauf folgende Punkt Linear angefahren werden soll, oder der nächste Punkt berechnet wird?


    Beispiel:


    $APO.VEL_CPTP = 100
    $APO.VEL_CDIS = 50


    vorhergehende Programmstrukturen...


    PTP VorKarton C_PTP ; vom Teileabholen direkt auf den Punkt fahren, am besten verschleifen


    LIN Vorpunkt C_DIS ; Vorpunkt auch verschleifen, da dieser nur sicherstellen soll, das in Z an,- und weggefahren wird


    LIN KartonGreif ; Punkt direkt anfahren, da dort das Teil im Karton abgelegt wird


    wenn ich mein Diskettenlaufwerk wieder finde, lade ich das Programm hier auch noch hoch zum ansehen.


    Danke schon mal ;)

  • Schritt für Schritt zum Roboterprofi!
  • was für ein Punkt ist VorKarton
    E6POS oder E6AXIS ?


    kann sein, dass es probleme ist,
    weil du von C_PTP auf C_DIS wechselst ....


    versuch mal
    PTP VorKarton C_DIS
    LIN Vorpunkt C_DIS
    LIN KartonGreif



    MFG
    Sergej

  • Hallo,


    PTP VorKarton C_PTP C_DIS
    LIN Vorpunkt C_DIS
    und
    PTP VorKarton C_PTP
    LIN Vorpunkt C_DIS
    sind absolut das gleiche, da auf CP-Seite C_DIS immer der Default ist. Mischen von Kriterien ist auch möglich, so dass es auch nicht daran liegen kann, dass du von C_PTP aud C_DIS wechselst.


    Ist der Roboter absolutgenau? Findet ein Lastwechsel zwischen den Punkten statt? Funktioniert das Überschleifen in T2 bei kleinem Override? Gibt es zusätzliche Meldungen, falls du $STOPNOAPROX aktivierst und das Programm dann in T2 abfährst? Müssen auf CP-Seite irgendwelche Achsen reversieren?


    http://www.roboterforum.de/rob…en/9644/msg46291#msg46291


    http://www.roboterforum.de/rob…oglich/msg21924/#msg21924


    Fubini

    Einmal editiert, zuletzt von fubini ()

  • Hallo zusammen,


    hier mal das Programm. Die entsprechenden Punkte sind kommentiert.



    ;Zuweisungen
    FOR iAchse = 1 TO 6
    $VEL_AXIS[iAchse] = iVel_Transfer
    ENDFOR
    $APO.CPTP = 100
    $APO.CDIS = 70
    $VEL.CP = rVel_Freifahren


    $TOOL = TOOL_DATA[1]
    $BASE = BASE_DATA[1]
    iProg = 5


    ;zur sicherheit Greifer auf
    PULSE(aG1_einfahren, TRUE, 1)
    PULSE(aG2_einfahren, TRUE, 1)
    PULSE(aFertig_einfahren, TRUE, 1)
    PULSE(aEinzel_einfahren, TRUE, 1)


    ;Verschiebung Ablegeposition Berechnen
    rTmpVersatzX = ((rKVersatzX * iKLage) - rKVersatzx)
    rTmpVersatzY = (rKVersatzY * iKSpalte) - rKVersatzY + 11.0
    rTmpVersatzZ = (rKVersatzZ * iKZeile) - rKVersatzZ + 10.0
    xTmpAbleg.X = 0.0 - rTmpVersatzX
    xTmpAbleg.Y = rTmpVersatzY
    xTmpAbleg.Z = 0.0 - rTmpVersatzZ
    xTmpAbleg.A = 0.0
    xTmpAbleg.B = 0.0
    xTmpAbleg.C = 0.0
    ;=========================================================
    ; Vorposition mit dem Palettiermuster mit verschieben
    xTmpVorpos = xTmpAbleg
    xTmpVorpos.x = - 300
    ;===========================================================


    ; Ab hier beginnt der Programmteil, in dem es um das verschleifen geht!


    ;vor Vereinzelung fahren
    TRIGGER WHEN DISTANCE= 1 DELAY= -10 DO iPunkt=2
    $APO.CPTP = 100
    PTP xFreiKarton C_PTP ; soll verschliffen werden, tut es aber nicht!


    IF (bZwischen==TRUE) THEN
    IF (iEinzel==0) THEN
    GOTO ZwischenlageHolen
    ENDIF
    IF (iEinzel==9) THEN
    GOTO ZwischenlageAblegen
    ENDIF
    GOTO Ende
    ENDIF


    aFrgKarton = FALSE
    ;===========================================================
    ;PTP xVorKarton C_PTP
    TRIGGER WHEN DISTANCE= 1 DELAY= -10 DO iPunkt=10
    LIN xGreifKarton:xTmpVorpos C_DIS ; wäre schön, wenn auch dieser Punkt verschliffen wäre, muss aber nicht zwangsläufig!


    ;===========================================================
    aFrgKarton = FALSE
    ;zur Greifposition fahren
    CONTINUE
    WAIT FOR eFrgKarton
    LIN xGreifKarton:xTmpAbleg


    ;Teil Ablegen
    aEinzel_ausfahren = TRUE
    WAIT FOR eEinzel_ausgefahren


    aEinzel_ausfahren = FALSE


    aTeileIndex = 1

  • Hallo Robomann,
    wenn aFrgKarton = FALSE ein Ausgang musst du auch ein continue vorher einfügen. Ausgänge setzten lösen auch einen Vorlaufstopp aus. Oder verwende einen trigger für die Ausgänge.


    Gruß Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • Hallo Paulaner,


    okay das würde dann für den LIN xGreifKarton:xTmpVorpos C_DIS Punkt zutreffen. Ich werde es morgen mal probieren.
    Schlimmer, bzw. wichtiger wäre aber der Punkt PTP xFreiKarton C_PTP, an diesem Punkt hält der Robi quasi komplett an und fährt dann erst weiter zum nächsten Punkt. Das ist sowohl optisch als auch Taktzeittechnisch nicht so besonders ansprechend für den Kunden. :(


    ich wüsste jetzt aber auch keine Option mehr, die an dieser Stelle helfen würde...


    Trotzdem Danke für die Hilfestellungen euch allen! :zwink:

  • Das trifft schon auf beide genannten Punkte zu. Der Ausgang wird nach beiden Punkten angesprochen!


  • Hallo,


    wollte noch das Feedback zum Problem geben. Es war wirklich so wie von euch schon beschrieben, das das Problem mit CONTINUE behoben werden konnte.


    Es funktioniert leider nicht an jedem Punkt, aber der Kunde ist im großen und ganzen zufrieden.


    :danke: an alle Helfer

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