Starting robot program automatically - YUMI IRB14000

Most of the time there is a keyswitch on the controller for auto and manual mode selection.

True, in most cases. However, this IRC5 Flex Pendant does not have a key switch.

I did realize that the Auto mode does start when the controller is left in that state when powered down. I was also able to confirm that the System Input I configured did turn the motor on.

Thank you for your help - greatly appreciated.

You are welcome. None of the pendants that I have worked with (ABB, that is) have had the keyswitch on the pendant, but on the actual controller.

I am not sure I understood everything in this reply.
I personally dislike PPtoMain. Run chain OK ought to be a safety signal.

The robot powers-up to Auto-mode.
I have a system input that triggers Motor ON.

What do I need to have the program start when I push a button that is tied to an input?

Here is the first part of my code:

PROC main()

IF bFirstPass THEN
MoveToHomeR; ! call the procedure MoveToHomeL
bFirstPass:=FALSE;
ENDIF

IF custom_DI_1=1 THEN
AssemblePartsR; !!!HalfSyncL; ! call the procedure Assemble
ENDIF

ENDPROC

PROC MoveToHomeR()
MoveAbsJ pHomeR\NoEOffs, v200, z0, gripRight\WObj:=wobjTable;
g_Calibrate \Grip;

RETURN;
ENDPROC

PROC AssemblePartsR()!Start the SEQUENCE here
WaitSyncTask\inpos,sync1,tasklist;! wait sync1 - WAIT 1 HOMED

MoveJ pAppr, v200, z50, gripRight\WObj:=wobjTable;
WaitUntil \inpos, TRUE;
g_GripOut;

WaitSyncTask\inpos,sync2,tasklist;! wait sync2 - WAIT 2

MoveL pPick, v200, z20, gripRight\WObj:=wobjTable;
WaitUntil \inpos, TRUE;
WaitTime 1;

You could use the system input action motors on and start (start from current program position), start (same as previous but does not turn motors on first), or start at main (start program from beginning) depending on what you want to achieve.

I do not like PP to Main because you would then have to have some sort of recovery in which you must figure out how to safely get the robot back to home if it does not happen to be there at that time. You must also figure out how to resume whatever the task was and at which step you must do next in the order of the normal program sequence.
I was mistaken about the run chain OK signal, you must define it and make it a system signal tied to RunChainOK state. The importance of this is that if the run chain is not OK when you tell the robot to turn motors on, it will be rejected.
Finally, I need to clarify the keyswitch point, it could also be a keyless, mode selector switch. It should have manual (teach mode) and automatic mode.

If I use a system input for “Motors On and Start”, will the program be ready to go?

Is “Start” the same as “PP to Main”?

Or, should I use “Start at Main”?

After reading a little more I see that maybe I should use one system input for Motors On, then another system input for Start at Main. I believe this is because Start requires the Program Pointer to be already set somewher in the program and Start at Main accomplishes this automatically.
I hope that is correct.

Yes that is correct.
As Lee said you will need to check at the beginning of the main routine that the robot can move form where it currently is without colliding and any external equipment & the gripper are ready to start…

I have another question - when the robot is turned on it starts up in Auto mode and starts running a program when I trigger it from a pushbutton. However, it always starts in Continuous mode and just keeps running. If I use the pendant to change to Single Cycle it will stop.

How do I get the robot in Single Cycle from the beginning? Would this require another System input, or could I write a line of code to change it to Single Cycle?

How would I use “Switch”? Is this used in the program?

There is a parameter on the system inputs with the start command to be in single cycle or continuous.
You simply need to change it…