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