UALM in runned programs

  • Hi,


    I have a TP program started by the RUN command which can set an UALM in a specific condition. My "mother" program uses a flag to wait the end of execution:

    Code
    F[1]=(ON)
    RUN CHECK_SR
    ...somethings....
    WAIT (F[1]=OFF)

    When the runned program set the UALM it goes in the PAUSED status and the "mother" program remains stuck on the WAIT condition (this is ok and is what I need); by the BLUE RESET BUTTON I reset the fault but with a CYCLE START it doesn't run anymore remaining in the PAUSED status. The question is: how to restart a runned program that han been paused? is it possible?

    thanks

  • Why RUN, not CALL?

    because this program checks SR using two nested for loops and last too seconds.... so I run it during return back to starting position

    You need to abort first.

    very unconfortable..... this means that a runned program have to end or run forever.

    I'll find another solution, thanks

  • You could mess with the abort/pause priority in the header of the program. That way you running program just ignores abort and pause requests. I recommend putting in a manual way to abort the program, as there will be no other way to stop it.


    I go over it in this thread:

    Re: DCS automatic restart

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • I think the root cause of this issue is using UALM in the run thread. Instead put the UALM in the main thread. Then your run program can set a flag if it completes successfully. Main thread waits for completion flag then checks the success flag and throws UALM if false.

Advertising from our partners