im Fehlerfall über INTERRUPT auf Brennerserviceposition fahren (ArcTechBasic)

  • Hallo zusammen,


    ich stehe im Moment an. Und zwar habe ich eine KUKA Schweissapplikation mit ArcTechBasic. Bei Zünd- oder Schweissfehler soll der Bediener zuerst schauen ob der Draht freigebrannt ist und falls ja, einen Taster drücken, damit der Roboter mit dem Schweissbrenner in eine Serviceposition fährt. Sobald der Brenner gereinigt wurde, soll wieder der Taster gedrückt werden und der Roboter fährt im Programm fort.
    Ich habe das ganze mit einem Interrupt gelöst. Es funktioniert auch 95% der Zeit. Nur manchmal fährt der Roboter mit Schweissgeschwindigkeit (1mm/s) in die Serviceposition ... obwohl ich im Interruptprogramm eigentlich 0.3 m/s programiert habe. Was mache ich falsch?


    Interrupt Deklaration:

    Code
    ;Roboter in Serviceposition bei Schweissfehler fahren
        $CYCFLAG[iCF_MIG_ServicePos] = diMIG_ServicePos AND $PRO_ACT AND $ROB_STOPPED AND $WORKSTATE1
        GLOBAL INTERRUPT DECL iIntr_MIG_ServicePos WHEN $CYCFLAG[iCF_MIG_ServicePos]==TRUE DO irMIG_ServicePos ()
        INTERRUPT OFF iIntr_MIG_ServicePos ;nur waehrend dem Schweissen aktivieren


    Interrupt Routine:


    Verwendete Softwareversionen:

    Code
    KSS Version=V8.3.39
    ArcTechBasic=1.5.7
    BoardPackage=1.4.0
    DiagnoseSafety=2.1.0
    GripperSpotTech=4.0.7
    Profinet ProfiSafe Device=3.2.2
    SafeOperation=3.2.4
    UserTech=3.3.5


    greez Drudge

    Einmal editiert, zuletzt von Drudge ()

  • Schritt für Schritt zum Roboterprofi!
  • Ciao Simeon,


    weder emol am umeriese amene KUKA?



    ... obwohl ich im Interruptprogramm eigentlich 0.3 m/s programiert habe. Was mache ich falsch?


    Dein Problem geht vermutlich in die gleiche Richtung wie kürzlich ein Post über die user_action.src
    Problematik von Geschwindigkeitsänderungen in Interrupts siehe mal diesen Post von Fubini:


    https://www.robot-forum.com/ro…el-cp-speed-in-interrupt/


    Evtl. kannst es beeinflussen durch verändern von $Advance.


    Andere Möglichkeit wäre die Advanced Error Recovery-Strategie von ArcTech Advanced 1.5 verwenden.


    Gruss und bis bald mal


    SJX

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

  • saletti Stef,


    ja bin wiedermal ein bisschen einen Robi vergewaltigen ;).
    Danke dein verlinkter Post hatte ich vorher nicht gefunden. Der beantwortet meine Frage: in einer Interruptroutine können die Bewegungsparameter nicht geladen werden.


    Das ArcTech Advance ist hier keine Option ... da muss ich versuchen anders zu schweissen, damit die Geschwindigkeit im Fehlerfall höher ist.


    grüsse ins AG ;)
    Drudge

  • Habe plötzlich realisiert, dass ja vom ArcTechBasic nur die CP Geschwindigkeit reduziert wird. Darum als einfache Lösung die Freifahr-Interruptroutine mit PTP Bewegungen bestückt:


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