IGNORE PAUSE in header and NOPAUSE translator directive

  • Hello everybody.
    In the TP program header information there is an attribute:


    Ignore Pause
    If the program type has been set to NONE, you can use ignore pause to specify whether the program
    will continue to run even when an error occurs, a command is issued (such as pushing EMERGENCY
    STOP or HOLD), or the teach pendant is enabled. Ignore pause is allowed only in programs that do
    not have motion groups specified such as an I/O monitoring program. This means that programs that
    use ignore pause cannot contain any motion instructions.


    There is something like that in a KAREL program:


    %NOPAUSE Translator Directive
    Purpose: Specifies a mask for pausing
    Syntax : %NOPAUSE = ERROR + COMMAND + TPENABLE
    Details:
    • The bits for the mask are as follows:
    ERROR : ignore pause error severity
    COMMAND : ignore pause command
    TPENABLE : ignore paused request when TP enabled
    • Any combination of ERROR, COMMAND, and TPENABLE can be specified.
    • If the program is paused by itself, the %NOPAUSE directive will be ignored and program
    execution will be paused.
    • This directive is only effective for programs with %NOLOCKGROUP. If the program has motion
    control, the %NOPAUSE Directive will be ignored and program execution will be paused.


    But I can't understand under what conditions it works. I tried run programs (TP or KAREL) with all these settings in AUTO mode and then turned on Teach Pendant and the running program went into PAUSE state.
    Can anybody help me to understand the reason?

  • Your thought process on this is correct.


    On the TP program, you have all motion groups masked out, correct?


    Are you calling the program, or running the program? I honestly do not do much multitasking (I use BGlogic whenever possible) so I'm not 100% sure, but I believe if you call a program with Ignore Pause from a parent program with a motion group associated and/or Not Ignore Pause, the child program will pause as well.


    Not 100% sure, but something to check first.

  • Hi, pmt257...
    Thank u for help.
    Now it's work. But the reason why it didn't work before is unknown. ???
    It worked the next day without problems. And it doesn't depend on whether it's a parent program or a subprogram.
    But with KAREL programs this feature still doesn't work. I try to understand the reason...

  • Quote

    Have you used %NOLOCKGROUP directive in the Karel program?


    No. I use the program instructions RELEASE and ATTACH to release and attach motion control from/to the KAREL program. Theoretically it must work. But practically....

  • No, it won't work. Just read what the manual says - programs CAN NOT lock any motion group for %NOPAUSE to work.
    You might try writing a program with %NOPAUSE (or Ignore Pause set to true), which in turn will RUN (not CALL) a program with a motion group - I think it might work.

  • Quote

    No, it won't work. Just read what the manual says - programs CAN NOT lock any motion group for %NOPAUSE to work.
    You might try writing a program with %NOPAUSE (or Ignore Pause set to true), which in turn will RUN (not CALL) a program with a motion group - I think it might work.


    Yes, it works. Thank u very much.
    But, if the combination %NOPAUSE and no %NOLOCKGROUP directive doesn't work, how to understand the example B.1 SETTING UP DIGITAL OUTPUT PORTS FOR PROCESS MONITORING from KAREL manual? They use this combination and they use RELEASE and ATTACH commands in the program. ???

  • RELEASE Statement
    Purpose: Releases all motion control of the robot arm and auxiliary or extended axes from the KAREL
    program so that they can be controlled by the teach pendant while a KAREL program is running.


    Under what conditions can we have this: program had motion control before TP is ON + teach pendant is ON + KAREL program is running after TP is ON? ???


    And from the remarks to the B.1 SETTING UP DIGITAL OUTPUT PORTS FOR PROCESS MONITORING program:


    Release motion control from the KAREL program to the TP control. Robot can be moved to desired Perch position without disturbing the flow of this KAREL task.


    How is it possible? ???

    Edited once, last by lomaxe ().

  • 1. RELEASE and ATTACH generally work - so the example might be correct. However, some of these examples don't work as expected.
    2. Unfortunately, %NOPAUSE only works with %NOLOCKGROUP, which doesn't allow locking motion groups (as the manual says about %NOPAUSE: This directive is only effective for programs with %NOLOCKGROUP.)


    About that switching between RELEASE and ATTACH - try condition handling, with TP On signal. Have no idea if this will work with %NOPAUSE though. Generally, I would avoid mixing Karel with motion, as this functionality was abandoned by Fanuc long ago and it has tons of issues.

Advertising from our partners