How to Stop in phase a Fanuc Robot

  • Hi guys

    This is my first contact with the forum i find it very interesting and i was wondering if i can get some help.

    I am currently pulled to a Fanuc robot project and i have some questions as this is the second time i am using Robots profesionally.
    I am using a Siemens 1500 profinet connected to a R30b plus controller and a M710iC arm.

    It is a palletizing application and i need to stop the robot in phase while the operator collects the pallet.

    The robot has 2 picking points and 2 palletizing points. So collects from line 1 (pick point) - palletizes to line1 (place point), collects from line 2 (pick point), palletizes to line 2 (place point). I have made the subrutines but i am struggling with the main program. I ve desided to work with PNS.


    1) Shall i use two (2) PNS and call them when the package is present in respective lines via PLC logic, or just one PNS and in there create conditions where the robot goes wherever in needed.

    2)How can i stop the Robot in Phase so the program continues where it was stoped. If i stop cycle UOP will it remember the registers i am using for palletizing? Generally how does it stop (as a methodology for palletizing applications)?

    Thank you!!


  • AD
  • Since you are discussing PNS, then you must be familiar with the UOP's: user inputs and outputs.

    There are four signals required to be held high during normal operation, *IMSTP, *HOLD, *SFSPD, and Enable. If you want to pause the robot mid-cycle, just drop the *HOLD signal and the robot will pause. To resume, pulse the start signal, the robot will resume from where it stopped with no change to the data registers.

  • Thank you for your prompt answer!

    I am using vaccum to handle the packages so i think its not a good approach to stop the sequence while vaccum is on.

    So i am thinking to always move the robot to some intermediate positions (2 in fact - one for each line) and raise a flag (DO) so PLC knows that the robot can stop in phase.

    Then with a request to stop function via PLC i will drop the HOLD signal. Then start again.

    Is this the way forward or i am thinking very simplistic?

    What about the PNS? Would you use 2 or just one as MAIN program and in there call subrutines?

    Thanks a lot!

  • If a person is entering an area where the robot could hit them then you must use a safety rated stop, such as the EAS fence stop signals on the estop board. The hold signal is not safety rated. A fence stop will automatically pause the program where it is. You can resume from a hold or paused condition by ensuring the hold signal is on, then pulsing the UI start signal (not prod start).

    1 or 2 PNS is your choice. Many people use 1 main program set by the "Other" method instead of PNS.

  • Thank you guys. I am alreary using safety fence and e-stop circuit where there are connected to the dedicated inputs via a safety PLC.

    I was thinking something ''more'' safe or ''more'' controlled...thats why i asked for HOLD signal.

    OK i will try guys! Thank you

  • Hi guys,

    After i implemented the PNS method i am facing some problems while homing the robot. As the client wants it to be at certain position when it is stoped.

    The space around is extermely occupied so i figured out a joint move that could work.

    So i wrote and run this part of code but i seems not to be working.




    J PR[50] 50% FINE

    I was expecting to see robot moving to these angles but it didnt.

    Does anyone know what is the problem here?


  • What position did it end up at? That should move just joint 2 and 3 and leave the other joints at current position. If there is a CNT move before this the other joints will not reach their final position, but backtrack a bit.

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