Recovery when Instruction Cause an Abort Fault

  • #####################

    Process routine:


    3: IF (DI[23:OFF:In Dry Cycle]),JMP LBL[90] ;

    4: ;

    5: !Point Soldering ;

    7: CALL NOABORT_EX ; // Instruction that avoid Abort

    8: CALL AS_LYRA('PSOL',AR[1]) ; // Generates an Abort error when wire is clogged)

    9: ;

    10: LBL[90] ;

    11: ;

    12: !End of Routine ;

    13: LBL[99] ;


    #####################


    I need to find a way to recover from the call instruction "CALL AS_LYRA('PSOL',AR[1])"

    i can avoid the abort fault, but i can't jump or skip that line, i need to find a way to do so

  • AD
  • I don't know for sure if this will work, but there is an ERROR condition handler. Its described in Section 6 of the KAREL manual. You can specify an error code to monitor.

    When that condition is met, there are actions that can be taken. Examples are NOMESSAGE, and CONTINUE.


    There is an example in Appendix B named Setting Up Digital Output Ports for Process Monitoring - Main. They "TRAP" an UNINITIALIZATION error and continue with execution.

  • the problem is that the recovery i need to call is a group mask routine, so it wont work, i already tried


    the instruction is action, not motion type and the routine i need to call is motion

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now