//*********************************Test SetSignal/WaitForSignal/ResetSignal ***********
G0X0Y0Z0
//Case1
SetSignal(10)
WAIT
//G47("ToolSet1")
G90 G01 X0 Y0 Z0 F5000
WaitForSignal(10)
WAIT
//G48
ResetSignal(10)

//CASE2
SetSignal(ID=20)
WAIT
G90 G01 X0 Y0 Z0 F5000
WaitForSignal(ID=20)
WAIT
ResetSignal(ID=20)

//CASE3
SSG(30)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WSG(30)
WAIT
RSG(30)
G90
N30 X0 Y10 Z10 G53

//CASE4
SSG(ID=40)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WSG(ID=40)
WAIT
RSG(ID=40)
G90
N30 X0 Y10 Z10 G53

//CASE5
SetSignal(ID=50)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WSG(ID=50)
WAIT
RSG(50)

//CASE6
SETSIGNAL(60)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WAITFORSIGNAL(60)
WAIT
RESETSIGNAL(60)
G90
N30 X0 Y10 Z10 G53

//CASE7
SETSIGNAL(ID=70)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WAITFORSIGNAL(ID=70)
WAIT
RESETSIGNAL(ID=70)
G90
N30 X0 Y10 Z10 G53

//CASE8
SetSignal(ID=80)
G90 G01 X10 Y10 Z5 F1500
G91 G01 X10 Y10 Z5 F5000
WSG(ID=80)
WAIT
RESETSIGNAL(80)

DL.motion.state.functions.somo.signals.05 = 1

//CASE9 WaitForSignalReset id
SETSIGNAL(ID=5)
G90 G01 X10 Y10 Z5 F500
G91 G01 X10 Y10 Z5 F500
WAIT
WaitForSignalReset(ID=5)

WHILE DL.motion.state.functions.somo.signals.05 == 0  DO
  SLEEP(1)
ENDW

DL.motion.state.functions.somo.signals.05 = 0

G90
N30 X0 Y10 Z10 G53
WAIT