User`s guide
Scheduling of Program Execution Tasks
The V+ system appears to execute all the program tasks at the same time. However, this is
actually achieved by rapidly switching between the tasks many times each second, with each
task receiving a fraction of the total time available. This is referred to as concurrent
execution. The following sections describe how execution time is divided among the different
tasks.
NOTE: The default task configuration will work for most applications: You will not have to
alter task execution priorities. The default configuration is optimized for Adept's AIM
software.
System Timing and Time Slices
The amount of time a particular program task receives is determined by two parameters: its
assignment to the various time slices and its priority within the time slice. A brief description
of the system timing will help you to understand what a time slice is and how one can be
selected.
NOTE: Do not confuse task priority (described here) with program priority (described in
Asynchronous Processing). Task priority governs the processing of the various system
tasks within a time slice. Program priority governs the execution of programs within a
task.
Each system cycle is divided into 16 time slices of one millisecond each. The time slices are
numbered 0 through 15. A single occurrence of all 16 time slices is referred to as a major
cycle. For a robot or motion system, each of these cycles corresponds to one output from the
V+ trajectory generator to the digital servos.
Specifying Tasks, Time Slices, and Priorities
Tasks 0 through 6 (0 through 27 with optional V+ Extensions software) can be used, and
their configuration can be tailored to suit the needs of specific applications.
Each program task configured for use requires dedicated system memory, which is
unavailable to user programs. Therefore, the number of tasks available should be made no
larger than necessary, especially if memory space for user programs is critical.
When application programs are executed, their program tasks are normally assigned default
time slices and priorities according to the current system configuration. These defaults can be
overridden temporarily for any user program task. This is done by specifying the desired time-
slice and priority parameters in the EXECUTE, PRIME, or XSTEP command used to initiate
execution. The temporary values remain in effect until the program task is started again, by a
new EXECUTE, PRIME, or XSTEP command. (See the V+ Language Reference Guide for
details on these instructions.)
Scheduling of Program Execution Tasks
V+Language User's Guide, v17.0
Page 48










