Galil DMC-1800, DMC-1700 user manual Executing Programs - Multitasking, XQ #A, n, HX n

Models: DMC-1800 DMC-1700

1 253
Download 253 pages 18.39 Kb
Page 146
Image 146
Executing Programs - Multitasking

BOTTOM LINE CR 1500,270,-180

HALF CIRCLE MOTION VP 0,3000

TOP LINE

CR 1500,90,-180

HALF CIRCLE MOTION VE

END VECTOR SEQUENCE BGS

BEGIN SEQUENCE MOTION EN

END OF PROGRAM

Note: The NO command is an actual controller command. Therefore, inclusion of the NO commands will require process time by the controller.

Executing Programs - Multitasking

The DMC-1700/1800 can run up to 8 independent programs simultaneously. These programs are called threads and are numbered 0 through 7, where 0 is the main thread. Multitasking is useful for executing independent operations such as PLC functions that occur independently of motion.

The main thread differs from the others in the following ways:

1.Only the main thread, thread 0, may use the input command, IN.

2.When input interrupts are implemented for limit switches, position errors or command errors, the subroutines are executed as thread 0.

To begin execution of the various programs, use the following instruction:

XQ #A, n

Where n indicates the thread number. To halt the execution of any thread, use the instruction

HX n

where n is the thread number.

Note that both the XQ and HX commands can be performed by an executing program. The example below produces a waveform on Output 1 independent of a move.

#TASK1

Task1 label

AT0

Initialize reference time

CB1

Clear Output 1

#LOOP1

Loop1 label

AT 10

Wait 10 msec from reference time

SB1

Set Output 1

AT -40

Wait 40 msec from reference time, then initialize reference

CB1

Clear Output 1

JP #LOOP1

Repeat Loop1

#TASK2

Task2 label

XQ #TASK1,1

Execute Task1

#LOOP2

Loop2 label

138 • Chapter 7 Application Programming

DMC-1700/1800

Page 146
Image 146
Galil DMC-1800, DMC-1700 user manual Executing Programs - Multitasking, XQ #A, n, HX n