Interrupt funktioniert nicht

  • Hallo in die Runde,


    Ich arbeite mit einem R1100 Roboter von Kuka, KRC4 kompact.

    Ich wollte eine Bewegung mit einem Interrupt unterbrechen, Wenn 2 Eingänge True sind.

    Config:

    SIGNAL Vakuum_1_OK $IN[1]

    SIGNAL Vakuum_2_OK $IN[3]

    BOOL Vakuum_ges_OK=FALSE

    Diese Signale wurden in der SPS abgefragt und wenn sie beide TRUE sind, setzte ich schließlich einen Merker auf TRUE.

    IF Vakuum_1_OK and Vakuum_2_OK THEN

    Vakuum_ges_OK=TRUE

    ENDIF


    Den Interrupt habe ich folgendermaßen deklariert :

    INTERRUPT DECL 10 WHEN Vakuum_ges_OK DO Teil_Mag_1_gefunden().


    Der Interrupt funktioniert leider so nicht. Sondern wenn ich die Signale Einzel im Interrupt abfrage. ZB. INTERRUPT DECL 10 WHEN Vakuum_1_OK DO Teil_Mag_1_gefunden().

    Woran könnte das liegen?


    Ich freue mich auf eure Ideen


    vielen Dank im Voraus

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Martin,


    Danke für deine schnelle Antwort

    Ich habe das bereit im Programm, also das an- und ausschalten den Interrupt.


    Def Suchlauf_Mag_1_1()


       INTERRUPT ON 10

    .....

    .....


    INTERRUPT OFF 10


    und das funktioniert nur wenn ich die Signale im Interrupt einzel abfrage.

  • Eventuel ist dein merker ja noch an und es gibt kein Signalwechsel daher geht er dann nicht versuchs doch mit nem CYCFLAG


    $CYCFLAG[1] = Vakuum1ok AND Vakuum2ok

    INTERRUPT DECL 10 WHEN $CYCFLAG[1] DO Teil_Mag_1_gefunden()

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