How are you executing this program; a RUN command or a CALL? Have you tried it as a Macro?
They are all being CALLed except tip dress which is being RUN. The material handling robots with a pedestal spot welder have 2 groups. Group 1 which is obviously the 6 axis of the robot and group 2 axis 1 which is the servo gun.
CALL Pick (Group 1)
CALL Weld (Group 1 &2)
RUN Tip Dress (Group 2) and CALL Drop (Group 1) so that tip dress can run while the robot is dropping the part at the next passing table.
We have a few material handlers that everything was packed in to one program so we don't see the pauses and they even put all tool and robot interference I/O directly in the main program as opposed to calling a "Enter Tool" program for example. Unfortunately, this won't work with running the tip dress program in the background, because of the group masks.
Fabian, I'm not such concerned about the pause waiting for the PLC to call a new PNS, but rather within the PLC calling separate programs.
PNS0010
CALL Pick Part
CALL Weld Part
CALL Drop Part
I have all of these programs starting and ending with CNT50-100 but the robot always comes to a complete stop when it completes the Pick then starts the Weld program, and Weld to Drop.