Burhan's WIP version 6.1 from 2007-10-25
r3275 | dcl | 2011-11-24 10:02:28 +1100 (Thu, 24 Nov 2011) | 1 line
This commit is contained in:
@@ -82,17 +82,19 @@ XQ #THREAD4,4
|
|||||||
'EXECUTE THREAD 5---------------------------------
|
'EXECUTE THREAD 5---------------------------------
|
||||||
XQ #THREAD5,5
|
XQ #THREAD5,5
|
||||||
#LOOP
|
#LOOP
|
||||||
'SICS asks for a request before moving axes A and B
|
'SICS asks for a request before moving A axis (tube)
|
||||||
'IF (REQA=1)&(REQB=1)
|
IF (REQA=1)&(RSPA=0)
|
||||||
'controller checks if motor can be driven and wedges can be moved
|
'controller checks if motor can be driven and wedges can be moved
|
||||||
'if motor can be driven and everything is ok
|
'if motor can be driven and everything is ok
|
||||||
'RSPA=1
|
RSPA=1
|
||||||
'RSPB=1
|
'(if motor fault)
|
||||||
'else(if motor fault)
|
|
||||||
'RSPA=-1
|
'RSPA=-1
|
||||||
'RSPB=-1
|
ENDIF
|
||||||
'endif
|
'if wedge shuffle routine has done,then SICS sends REQA=0
|
||||||
'endif
|
IF (REQA=0)&(RSPA=1)
|
||||||
|
'GALIL resets RSPA flag
|
||||||
|
RSPA=0
|
||||||
|
ENDIF
|
||||||
JP #LOOP
|
JP #LOOP
|
||||||
EN
|
EN
|
||||||
'-----THREAD 0 ENDS-------------------------------------------------
|
'-----THREAD 0 ENDS-------------------------------------------------
|
||||||
@@ -100,7 +102,7 @@ EN
|
|||||||
#THREAD1
|
#THREAD1
|
||||||
#LOOP1
|
#LOOP1
|
||||||
'if everything is ok
|
'if everything is ok
|
||||||
IF (RSPA=1)&(RSPB=1)
|
IF (REQA=1)&(RSPA=1)
|
||||||
'EXECUTING RECOVERY PROCEDURE IF WEDGE PATTERN IS (0,0)
|
'EXECUTING RECOVERY PROCEDURE IF WEDGE PATTERN IS (0,0)
|
||||||
IF (CNTLEFT=0)&(CNTRIGHT=0)
|
IF (CNTLEFT=0)&(CNTRIGHT=0)
|
||||||
JS #WDG1CW
|
JS #WDG1CW
|
||||||
@@ -108,7 +110,7 @@ JS #RECLPUP,(LOST=0)
|
|||||||
JS #RECRDOP,(LOST=0)
|
JS #RECRDOP,(LOST=0)
|
||||||
ELSE
|
ELSE
|
||||||
'NORMAL ROUTINE -> MAIN DRIVE MOVES TO THE DESTINATION POSITION
|
'NORMAL ROUTINE -> MAIN DRIVE MOVES TO THE DESTINATION POSITION
|
||||||
JS #MOVEMD,(RUNA=1)&(RUNB=1)&(STOP=0)&(DONE=0)&(ERRORFLG=0)&(FBERROR=0)
|
JS #MOVEMD,(RUNA=1)&(STOP=0)&(DONE=0)&(ERRORFLG=0)&(FBERROR=0)
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
JP #LOOP1
|
JP #LOOP1
|
||||||
@@ -220,7 +222,7 @@ ENDIF
|
|||||||
EN
|
EN
|
||||||
'SUBROUTINE "MOVEMD" BEGINS-------------------------
|
'SUBROUTINE "MOVEMD" BEGINS-------------------------
|
||||||
#MOVEMD
|
#MOVEMD
|
||||||
ERROR=_TPC - DSTB
|
ERROR=_TPC - DSTA
|
||||||
'IF MD HAS REACHED FINAL DESTINATION
|
'IF MD HAS REACHED FINAL DESTINATION
|
||||||
IF @ABS[ERROR]<DEADBAND
|
IF @ABS[ERROR]<DEADBAND
|
||||||
'STOP MD
|
'STOP MD
|
||||||
@@ -229,15 +231,8 @@ MC B
|
|||||||
'IT INDICATES MD HAS REACHED FINAL DEST
|
'IT INDICATES MD HAS REACHED FINAL DEST
|
||||||
DONE=1
|
DONE=1
|
||||||
'Wedge Shuffle Routine is complete
|
'Wedge Shuffle Routine is complete
|
||||||
IF (CURPOS=DSTB)
|
|
||||||
RUNA=0
|
RUNA=0
|
||||||
RUNB=0
|
POSA=DSTA
|
||||||
ENDIF
|
|
||||||
'after SICS resets REQ flags,then GALIL resets RSP flags
|
|
||||||
IF (REQA=0)&(REQB=0)
|
|
||||||
RSPA=0
|
|
||||||
RSPB=0
|
|
||||||
ENDIF
|
|
||||||
MG "WEDGE SHUFFLE ROUTINE HAS BEEN COMPLETED" {EB}
|
MG "WEDGE SHUFFLE ROUTINE HAS BEEN COMPLETED" {EB}
|
||||||
ELSE
|
ELSE
|
||||||
MG "MD IS MOVING TO THE DESTINATION" {EB}
|
MG "MD IS MOVING TO THE DESTINATION" {EB}
|
||||||
@@ -255,7 +250,7 @@ EN
|
|||||||
JS #CKMDDIR
|
JS #CKMDDIR
|
||||||
'DECIDE UNLATCH RANGE,LOCATION OF THE WEDGE LATCH
|
'DECIDE UNLATCH RANGE,LOCATION OF THE WEDGE LATCH
|
||||||
JS #PROCESS
|
JS #PROCESS
|
||||||
'CKECK LEFT & RIGHT CAM SWITCH BEFORE MOVING WEDGE
|
'CHECK LEFT & RIGHT CAM SWITCH BEFORE MOVING WEDGE
|
||||||
JS #CKLSMD,(STOP=0)&(RECOVER=0)&(ERRORFLG=0)
|
JS #CKLSMD,(STOP=0)&(RECOVER=0)&(ERRORFLG=0)
|
||||||
'STOP MD WHEN MD IS WITHIN UNLATCH RANGE
|
'STOP MD WHEN MD IS WITHIN UNLATCH RANGE
|
||||||
JS #STOPMD,(OKFLG=1)
|
JS #STOPMD,(OKFLG=1)
|
||||||
@@ -269,6 +264,7 @@ AT 500
|
|||||||
REFPOS=_TPC
|
REFPOS=_TPC
|
||||||
AT 1000
|
AT 1000
|
||||||
CURPOS=_TPC
|
CURPOS=_TPC
|
||||||
|
POSA=_TPC
|
||||||
'IF MD MOVES CLOCKWISE THEN VARIABLE "DIR" IS '1'
|
'IF MD MOVES CLOCKWISE THEN VARIABLE "DIR" IS '1'
|
||||||
IF CURPOS < REFPOS
|
IF CURPOS < REFPOS
|
||||||
DIR=1
|
DIR=1
|
||||||
@@ -372,6 +368,7 @@ EN
|
|||||||
IF (DIR=0)&(@IN[1]=1)
|
IF (DIR=0)&(@IN[1]=1)
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
MG "ERROR.MD CCW" {EB}
|
MG "ERROR.MD CCW" {EB}
|
||||||
MG "LEFT CAM LIM SWI SHOULDN'T BE ACTIVATED BEFORE MOVING A WDG" {EB}
|
MG "LEFT CAM LIM SWI SHOULDN'T BE ACTIVATED BEFORE MOVING A WDG" {EB}
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -380,6 +377,7 @@ ENDIF
|
|||||||
IF (DIR=0)&(@IN[2]=0)&(_TPC >= ULMAX)
|
IF (DIR=0)&(@IN[2]=0)&(_TPC >= ULMAX)
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
MG "ERROR.MD CCW" {EB}
|
MG "ERROR.MD CCW" {EB}
|
||||||
MG "MD PASSED UNLATCHED RANGE BUT RIGHT CAM LIM SWI ISN'T ACTIVATED" {EB}
|
MG "MD PASSED UNLATCHED RANGE BUT RIGHT CAM LIM SWI ISN'T ACTIVATED" {EB}
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -391,6 +389,7 @@ ELSE
|
|||||||
MG "ERROR.MD CCW.(0,3).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
MG "ERROR.MD CCW.(0,3).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=1)&(CNTRIGHT=2)
|
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=1)&(CNTRIGHT=2)
|
||||||
@@ -400,6 +399,7 @@ ELSE
|
|||||||
MG "ERROR.MD CCW.(1,2).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
MG "ERROR.MD CCW.(1,2).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=2)&(CNTRIGHT=1)
|
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=2)&(CNTRIGHT=1)
|
||||||
@@ -409,6 +409,7 @@ ELSE
|
|||||||
MG "ERROR.MD CCW.(2,1).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
MG "ERROR.MD CCW.(2,1).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=3)&(CNTRIGHT=0)
|
IF (DIR=0)&(@IN[2]=1)&(CNTLEFT=3)&(CNTRIGHT=0)
|
||||||
@@ -418,6 +419,7 @@ ELSE
|
|||||||
MG "ERROR.MD CCW.(3,0).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
MG "ERROR.MD CCW.(3,0).RIGHT CAM LIM SWI ISN'T SUPPOSED TO CLICK" {EB}
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
'IF MD CCW AND RIGHT CAM LIM SWI IS ACTIVATED
|
'IF MD CCW AND RIGHT CAM LIM SWI IS ACTIVATED
|
||||||
@@ -454,6 +456,7 @@ MG "OK.MD CW.LATCH HITS RIGHT CAM LIM SWI" {EB}
|
|||||||
ELSE
|
ELSE
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
MG "ERROR.MD CW.RIGHT CAM LIM SWI NOT SUPPOSED TO CLICK" {EB}
|
MG "ERROR.MD CW.RIGHT CAM LIM SWI NOT SUPPOSED TO CLICK" {EB}
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -462,6 +465,7 @@ ENDIF
|
|||||||
IF (DIR=1)&(@IN[1]=0)&(_TPC <= ULMAX)
|
IF (DIR=1)&(@IN[1]=0)&(_TPC <= ULMAX)
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
MG "ERROR.MAIN DRIVE CW" {EB}
|
MG "ERROR.MAIN DRIVE CW" {EB}
|
||||||
MG "MD PASSED UNLATCH RANGE BUT LEFT CAM LIM SWI ISN'T ACTIVATED" {EB}
|
MG "MD PASSED UNLATCH RANGE BUT LEFT CAM LIM SWI ISN'T ACTIVATED" {EB}
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -487,6 +491,7 @@ ENDIF
|
|||||||
ELSE
|
ELSE
|
||||||
OKFLG=0
|
OKFLG=0
|
||||||
ERRORFLG=1
|
ERRORFLG=1
|
||||||
|
'RUNA=-1
|
||||||
MG "ERROR.MD CW.LEFT CAM LIM SWI CLICKS OUTSIDE UNLATCH RANGE" {EB}
|
MG "ERROR.MD CW.LEFT CAM LIM SWI CLICKS OUTSIDE UNLATCH RANGE" {EB}
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -769,6 +774,7 @@ ST A
|
|||||||
MC A
|
MC A
|
||||||
MG "ERROR.LEFT CAM LIMIT ACTIVATES OUTSIDE RANGE" {EB}
|
MG "ERROR.LEFT CAM LIMIT ACTIVATES OUTSIDE RANGE" {EB}
|
||||||
WDGCCW=0
|
WDGCCW=0
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
'======================================================================
|
'======================================================================
|
||||||
@@ -783,6 +789,7 @@ ST A
|
|||||||
MC A
|
MC A
|
||||||
MG "ERROR.RIGHT CAM LIMIT ACTIVATES OUTSIDE RANGE" {EB}
|
MG "ERROR.RIGHT CAM LIMIT ACTIVATES OUTSIDE RANGE" {EB}
|
||||||
WDGCW=0
|
WDGCW=0
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
'CHECK LEFT CAM LIM SWI AFTER PICK UP A WDG
|
'CHECK LEFT CAM LIM SWI AFTER PICK UP A WDG
|
||||||
@@ -792,6 +799,7 @@ ST A
|
|||||||
MC A
|
MC A
|
||||||
MG "ERROR.LEFT CAM LIMIT NOT SUPPOSED TO CLICK AFTER ARM PICKS UP A WDG" {EB}
|
MG "ERROR.LEFT CAM LIMIT NOT SUPPOSED TO CLICK AFTER ARM PICKS UP A WDG" {EB}
|
||||||
WDGCW=0
|
WDGCW=0
|
||||||
|
'RUNA=-1
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
'+++++++++++++++++++++++++++++++++++++++++++++++++
|
'+++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
|||||||
Reference in New Issue
Block a user