Page 85 of 112
DMM-0200 Product User Guide
159 Swanson Road
Boxborough, MA 01719
Tel: 508-475-3400
Email: sales@dovermotion.com
IF DI1=1 ;*Ifdigitalinput1 ison
X1000 ;*Moveto 1000
WAITX ;* Wait for X-axis move to complete
ELSEIF DI2=1 ;* If digital input 2 ison
X2000 ;* Move to 2000
WAITX ;* Wait for X-axis move to complete
ELSEIF DI3=1 ;* If digital input 3 ison
X3000 ;* Move to 3000
WAITX ;* Wait for X-axis move to complete
ELSEIF DI5=1 ;* If digital input 5 ison
HOMEX- ;* Home the motor in negative direction
WAITX ;* Wait for X-axis move to complete
ENDIF
V1=MSTX ;* Store the motor status to variable 1
V2=V1&7 ;* Get first 3 bits
IF V2!=0
DO1=1
ELSE
DO1=0
ENDIF
ENDWHILE ;* Go back to WHILE statement
Standalone Example Program 7 – Multi Thread
Task: Program 0 will continuously move the motor between positions 0 and 1000. Simultaneously, program 1 will control
the status of program 0 using digital inputs.
PRG 0 ;* Start of Program 0
HSPD=20000 ;* Set high speed to 20000pps
LSPD=500 ;* Set low speed to 500pps
ACC=500 ;* Set acceleration to 500ms
WHILE 1=1 ;*Foreverloop
X0 ;*Movetoposition 0
WAITX ;*Waitforthe move to complete
X1000 ;*Movetoposition 1000
WAITX ;*Waitforthe move to complete
ENDWHILE ;* Go back to WHILE statement
END ;*EndProgram0
PRG 1 ;* Start of Program 1
WHILE 1=1 ;*Foreverloop
IF DI1=1 ;* If digital input 1 istriggered
ABORTX ;* Stop movement
SR0=0 ;* Stop Program 1
ELSE ;* If digital input 1 isnottriggered
SR0=1 ;* Run Program 1
ENDIF ;*Endif statements
ENDWHILE ;* Go back to WHILE statement
END ;* End Program 1