Executing Programs Executing Programs When eV+ is actively following the instructions in a program, it is said to be executing that program. The standard eV+ system provides for simultaneous execution of up to seven different programs-for example, a robot control program and up to six additional programs. The optional eV+ extensions software provides for simultaneous execution of up to 28 programs. Execution of each program is administered as a separate program task by the system. The way program execution is started depends upon the program task to be used and the type of program to be executed. The following sections describe program execution in detail.
Selecting a Program Task Task # 0 has the highest priority in the (standard) task configuration. Thus, this task is normally used for the primary application program. For example, with a robot system, task #0 is normally used to execute the robot control program. NOTE: As a convenience, when execution of task #0 begins, the task always automatically selects robot #1 and attaches the robot as soon as a motion related keyword is encountered. Execution of task #0 is normally started by using the EXECUTE monitor command. The ABORT monitor command or program instruction stops task #0 after the current robot motion completes.
The CYCLE.END monitor command or program instruction can be used to stop the program at the end of its current execution cycle. If program execution stops because of an error, a PAUSE instruction, an ABORT command or instruction, or the monitor commands PROCEED or RETRY can be used to resume execution (see the eV+ Operating System Reference Guide for information on monitor commands). While execution is stopped, the DO monitor command can be used to execute a single program instruction (entered from the keyboard) as though it were the next instruction in the program that is stopped.
For debugging purposes, the ACE eV+ Debugger tool can be used to execute a program one step at a time, and to follow the flow of program execution. For details, see the ACE User's Guide . Execution of program tasks other than #0 is generally the same as for task #0. The following points highlight the differences: l The task number must be explicitly included in all the monitor commands and program instructions that affect program execution, including EXECUTE, ABORT, PROCEED and RETRY. l If the program is going to control the robot, it must explicitly ATTACH the robot before executing any instructions that control the robot.
See the section Scheduling of Program Execution Tasks for details on task scheduling. eV+Language User's Guide, v2.x, 18318-000 Rev A Page 24