Probleme mit Skip Condition

  • Hallo Gemeinde,


    ich habe ein Problem mit der SKip Condition Anweisung.

    Ich möchte eine Dosierbewegung abbrechen, wenn ein bestimmter Eingang auf den Zustand ON geht.

    Jetzt habe ich das folgende Ergebnis: Egal welchen Zustand mein Eingang hat, wird die Bewegung kurz vor Ende abgebrochen und zum Skip LBL gesprungen.


    Code:


    10: ;

    11: SKIP CONDITION DI[12:ERROR_ABORT]=ON ;

    12: ;

    13:L P[2] R[151:DISPENSE SPEED 2]mm/sec CNT100 ;

    14: ;

    15:L P[3:FIRST POINT CONR] R[152:DISPENSE SPEED 3]mm/sec CNT100 TB .01sec,DO[513:INTERRUPT DOS ON]=ON Tool_Offset,PR[100:PROD TOOL OFF] ;

    16: ;

    17: ;

    18:L P[4] R[152:DISPENSE SPEED 3]mm/sec CNT100 Tool_Offset,PR[100:PROD TOOL OFF] Skip,LBL[998],PR[30:ACT POS]=LPOS ;

    .

    .

    .

    .

    116: LBL[998:INTERRUPT] ;

    117: R[14:ERROR_ABORT]=1 ;

    118: DO[513:INTERRUPT DOS ON]=OFF ;


    Was mache ich falsch?

  • ANZEIGE
  • Hallo Marc,

    deine Bedingung scheint nicht Wahr zu werden. DI[12] ist wohl immer aus... aber ich denke du hast da einen Denkfehler bei dem Befehl.. er reagiert anders wie bei KUKA... wenn er seine Position erreicht- springt er in das angegebene Label.. wenn der Eingang DI[12]=On ist unterbricht er seine Bewegung und fährt in Zeile 19 fort.

  • Du kannst die Funktion dafür nutzen.. nur halt daran denken, dass du in Zeile 19 deine Logik von LBL[998] programmierst.. und beim erreichen der Position 4 (ohne DI[12]= True) in das Label springst wo es normal weiter geht


    ungefähr so:

    10: ;

    11: SKIP CONDITION DI[12:ERROR_ABORT]=ON ;

    12: ;

    13:L P[2] R[151:DISPENSE SPEED 2]mm/sec CNT100 ;

    14: ;

    15:L P[3:FIRST POINT CONR] R[152:DISPENSE SPEED 3]mm/sec CNT100 TB .01sec,DO[513:INTERRUPT DOS ON]=ON Tool_Offset,PR[100:PROD TOOL OFF] ;

    16: ;

    17: ;

    18:L P[4] R[152:DISPENSE SPEED 3]mm/sec CNT100 Tool_Offset,PR[100:PROD TOOL OFF] Skip,LBL[998],PR[30:ACT POS]=LPOS ;

    19:;

    20: ! bei DI[12]= True gehts hier weiter!

    21: R[14:ERROR_ABORT]=1 ;

    22: DO[513:INTERRUPT DOS ON]=OFF ;

    23: UALM[x] / abort oder was auch immer

    .

    .

    .

    116: LBL[998:weiter im Programm ohne Störung] ;

    117:

    118:

  • Die Option SkipJump Instruction (R866) ist von der Logik genau andersrum als der normale Skip-Befehl. Daher bevorzuge ich SkipJump, da meiner Meinung nach logischer. Die Option ist kostenlos, muss aber explizit mitbestellt werden.

  • Hallo


    obige Maßnahmen haben geholfen. Danke!

    Aber jetzt habe ich noch ein Problem:


    Gibt es eine Möglichkeit ein, Fanuc Programm, egal an welcher Position oder selbst bei einem Wartepunkt, zu unterbrechen und eine Home Fahrt anzutriggern. (Stichwort Interrupt bei Kuka). Mein Kunde möchte diese Funktion unbedingt haben. Bin aber total ratlos.......

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