From a74a68112e6e14f8359864bc9de3ab4171dc702e Mon Sep 17 00:00:00 2001 From: Dan Bartlett Date: Wed, 31 Jan 2007 15:09:08 +1100 Subject: [PATCH] no message r1415 | dbx | 2007-01-31 15:09:08 +1100 (Wed, 31 Jan 2007) | 2 lines --- .../reflectometer/DMC2280/controller1.txt | 139 +++++++++++++++++ .../reflectometer/DMC2280/controller2.txt | 139 +++++++++++++++++ .../reflectometer/DMC2280/controller3.txt | 147 ++++++++++++++++++ .../reflectometer/DMC2280/controller4.txt | 147 ++++++++++++++++++ 4 files changed, 572 insertions(+) create mode 100644 site_ansto/instrument/reflectometer/DMC2280/controller1.txt create mode 100644 site_ansto/instrument/reflectometer/DMC2280/controller2.txt create mode 100644 site_ansto/instrument/reflectometer/DMC2280/controller3.txt create mode 100644 site_ansto/instrument/reflectometer/DMC2280/controller4.txt diff --git a/site_ansto/instrument/reflectometer/DMC2280/controller1.txt b/site_ansto/instrument/reflectometer/DMC2280/controller1.txt new file mode 100644 index 00000000..bf5cecb9 --- /dev/null +++ b/site_ansto/instrument/reflectometer/DMC2280/controller1.txt @@ -0,0 +1,139 @@ +NO TE: PLATYPUS - CONTROLLER 1 +NO TE: +NO TE: $Revision: 1.1 $ +NO TE: $Date: 2007-01-31 04:09:08 $ +NO TE: Author: Dan Bartlett +NO TE: Last revision by: $Author: dbx $ +NO TE: +NO TE: A-BEAM SHADE RAISE +NO TE: B-COLLIMATOR TRANSLATE +NO TE: C-COLLIMATOR TILT +NO TE: D-BEAM ATTENUATOR +NO TE: E-SLIT TOWER S3 RAISE +NO TE: F-SLIT TOWER S4 RAISE +NO TE: G-SPARE +NO TE: H-SPARE +NO ---------------------------------------- +#AUTO +NO TE: THIS IS THE PROGRAM THAT RUNS AUTOMATICALLY ON CONTROLLER STARTUP +MT-2,-2,-2,-2,-2,-2,-2,-2;'CONFIGURES ALL AXES AS STEPPER +MO;' FIRST TIME MOTOR OFF +CN 1;' CONFIGURES LIMIT SWITCHES TO ACCEPT NC CONTACTS +II 8,,,0;' CONFIGURES THE 8TH INPUT TO ACTIVATE THE #ININT ROUTINE +OP 65280;' SETS OUTPUTS 9-16 ON = RELAYS OFF +IA 137,157,202,131;' CONFIGURES IP ADDRESS +AC 25000,25000,25000,25000,25000,25000,,;' SET ACELERATION +DC 25000,25000,25000,25000,25000,25000,,;' SET DECELERATION +SP 50000,25000,25000,25000,75000,75000,,;' SET SPEED +SIA=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIB=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIC=1,25,13,0<-2>2;'IVO +SID=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIE=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIF=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIG=0,25,13,0<-2>2;'SPARE +SIH=0,25,13,0<-2>2;'SPARE +JS #THREAD0 +EN +NO ---------------------------------------- +#THREAD0 +NO TE: THERE MUST BE A THREAD RUNNING FOR #LIMSWI, #TCPERR AND #ININT TO WORK +NO TE: CHECKS IF SPEEDS ARE ABOVE MAXIMUM ALLOWED +IF (_SPA>50000) +SPA=50000 +ENDIF +IF (_SPB>50000) +SPB=50000 +ENDIF +IF (_SPC>50000) +SPC=50000 +ENDIF +IF (_SPD>50000) +SPD=50000 +ENDIF +IF (_SPE>50000) +SPE=50000 +ENDIF +IF (_SPF>100000) +SPF=100000 +ENDIF +NO IF (_SPG>50000) AXES NOT USED, COMMENTED OUT +NO SPG=50000 +NO ENDIF +NO IF (_SPH>50000) +NO SPH=50000 +NO ENDIF +NO TE: TO CONTROL THE BRAKE ON BEAM SHADE RAISE AXIS +IF (_MOA=0);'BEAM SHADE RAISE MOTOR IS ON +CB 9;'RELAY ON = BRAKE COIL ENERGISED = BRAKE DISENGAGED +ENDIF +IF (_MOA=1);'BEAM SHADE MOTOR IS OFF +SB 9;'RELAY OFF = BRAKE COIL DE-ENERGISED = BRAKE ENGAGED +ENDIF +JP #THREAD0 +EN +NO ---------------------------------------- +#TCPERR +NO TE: EMPTY ROUTINE FOR A TCP ERROR +RE +NO ---------------------------------------- +#ININT +NO TE: INTERUPT ROUTINE TO STOP ALL AXES +NO TE: WHEN SAFETY & INTERLOCK SYSTEM REQUESTS IT +STA,B,C,D,E,F,G,H +AM +MO +RI +NO ---------------------------------------- +#LIMSWI +NO TE: LIMIT SWITCH ROUTINE WHICH SHORTENS DECEL TIME WHEN A LIMIT IS HIT +OLDDCA=_DCA;' REMEMBERS CURRENT DECEL +OLDDCB=_DCB +OLDDCC=_DCC +OLDDCD=_DCD +OLDDCE=_DCE +OLDDCF=_DCF +NO OLDDCG=_DCG AXES NOT USED +NO OLDDCH=_DCH +IF (_LFA = 0) | (_LRA = 0) +DCA=100000;' DECEL FOR LIMIT HIT OCCURENCE +STA +ENDIF +IF (_LFB = 0) | (_LRB = 0) +DCB=100000;' DECEL FOR LIMIT HIT OCCURENCE +STB +ENDIF +IF (_LFC = 0) | (_LRC = 0) +DCC=100000;' DECEL FOR LIMIT HIT OCCURENCE +STC +ENDIF +IF (_LFD = 0) | (_LRD = 0) +DCD=100000;' DECEL FOR LIMIT HIT OCCURENCE +STD +ENDIF +IF (_LFE = 0) | (_LRE = 0) +DCE=150000;' DECEL FOR LIMIT HIT OCCURENCE +STE +ENDIF +IF (_LFF = 0) | (_LRF = 0) +DCF=150000;' DECEL FOR LIMIT HIT OCCURENCE +STF +ENDIF +NO IF (_LFG = 0) | (_LRG = 0) AXES NOT USED, COMMENTED OUT +NO DCG=100000;' DECEL FOR LIMIT HIT OCCURENCE +NO STG +NO ENDIF +NO IF (_LFH = 0) | (_LRH = 0) +NO DCH=100000;' DECEL FOR LIMIT HIT OCCURENCE +NO STH +NO ENDIF +AM ABCDEFGH;' AFTER ALL AXES STOPPED +DCA=OLDDCA;' RESET DECEL TO OLD VALUE +DCB=OLDDCB +DCC=OLDDCC +DCD=OLDDCD +DCE=OLDDCE +DCF=OLDDCF +NO DCG=OLDDCG AXES NOT USED +NO DCH=OLDDCH +RE \ No newline at end of file diff --git a/site_ansto/instrument/reflectometer/DMC2280/controller2.txt b/site_ansto/instrument/reflectometer/DMC2280/controller2.txt new file mode 100644 index 00000000..a31a94ad --- /dev/null +++ b/site_ansto/instrument/reflectometer/DMC2280/controller2.txt @@ -0,0 +1,139 @@ +NO TE: PLATYPUS - CONTROLLER 2 +NO TE: +NO TE: $Revision: 1.1 $ +NO TE: $Date: 2007-01-31 04:09:08 $ +NO TE: Author: Dan Bartlett +NO TE: Last revision by: $Author: dbx $ +NO TE: +NO TE: A-SAMPLE TILT 1 +NO TE: B-SAMPLE TILT 2 +NO TE: C-SAMPLE TRANSLATION - LINEAR +NO TE: D-SPARE +NO TE: E-SAMPLE RAISE +NO TE: F-SPARE +NO TE: G-DETECTOR RAISE +NO TE: H-SPARE +NO ---------------------------------------- +#AUTO +NO TE: THIS IS THE PROGRAM THAT RUNS AUTOMATICALLY ON CONTROLLER STARTUP +MT-2,-2,-2,-2,-2,-2,-2,-2;'CONFIGURES ALL AXES AS STEPPER +MO;' FIRST TIME MOTOR OFF +CN 1;' CONFIGURES LIMIT SWITCHES TO ACCEPT NC CONTACTS +II 8,,,0;' CONFIGURES THE 8TH INPUT TO ACTIVATE THE #ININT ROUTINE +OP 65280;' SETS OUTPUTS 9-16 ON = RELAYS OFF +IA 137,157,202,132;' CONFIGURES IP ADDRESS +AC 25000,25000,25000,,100000,,50000,;' SET ACELERATION +DC 25000,25000,25000,,100000,,50000,;' SET DECELERATION +SP 50000,50000,50000,,200000,,150000,;' SET SPEED +SIA=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIB=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIC=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SID=0,25,13,0<-2>2;'SPARE +SIE=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIF=0,25,13,0<-2>2;'SPARE +SIG=1,25,13,0<-2>2;'HEIDENHAIN ROQ425 +SIH=0,25,13,0<-2>2;'SPARE +JS #THREAD0 +EN +NO ---------------------------------------- +#THREAD0 +NO TE: THERE MUST BE A THREAD RUNNING FOR #LIMSWI, #TCPERR AND #ININT TO WORK +NO TE: CHECKS IF SPEEDS ARE ABOVE MAXIMUM ALLOWED +IF (_SPA>50000) +SPA=50000 +ENDIF +IF (_SPB>50000) +SPB=50000 +ENDIF +IF (_SPC>50000) +SPC=50000 +ENDIF +NO IF (_SPD>50000) AXIS NOT USED, COMMENTED OUT +NO SPD=50000 +NO ENDIF +IF (_SPE>200000) +SPE=200000 +ENDIF +NO IF (_SPF>100000) AXIS NOT USED, COMMENTED OUT +NO SPF=100000 +NO ENDIF +IF (_SPG>150000) +SPG=150000 +ENDIF +NO IF (_SPH>50000) AXIS NOT USED, COMMENTED OUT +NO SPH=50000 +NO ENDIF +NO TE: TO CONTROL THE BRAKE ON DETECTOR RAISE AXIS +IF (_MOG=0);'DETECTOR RAISE MOTOR IS ON +CB 15;'RELAY ON = BRAKE COIL ENERGISED = BRAKE DISENGAGED +ENDIF +IF (_MOG=1);'DETECTOR RAISE MOTOR IS OFF +SB 15;'RELAY OFF = BRAKE COIL DE-ENERGISED = BRAKE ENGAGED +ENDIF +JP #THREAD0 +EN +NO ---------------------------------------- +#TCPERR +NO TE: EMPTY ROUTINE FOR A TCP ERROR +RE +NO ---------------------------------------- +#ININT +NO TE: INTERUPT ROUTINE TO STOP ALL AXES +NO TE: WHEN SAFETY & INTERLOCK SYSTEM REQUESTS IT +STA,B,C,D,E,F,G,H +AM +MO +RI +NO ---------------------------------------- +#LIMSWI +NO TE: LIMIT SWITCH ROUTINE WHICH SHORTENS DECEL TIME WHEN A LIMIT IS HIT +OLDDCA=_DCA;' REMEMBERS CURRENT DECEL +OLDDCB=_DCB +OLDDCC=_DCC +NO OLDDCD=_DCD AXIS NOT USED +OLDDCE=_DCE +NO OLDDCF=_DCF AXIS NOT USED +OLDDCG=_DCG +NO OLDDCH=_DCH AXIS NOT USED +IF (_LFA = 0) | (_LRA = 0) +DCA=100000;' DECEL FOR LIMIT HIT OCCURENCE +STA +ENDIF +IF (_LFB = 0) | (_LRB = 0) +DCB=100000;' DECEL FOR LIMIT HIT OCCURENCE +STB +ENDIF +IF (_LFC = 0) | (_LRC = 0) +DCC=100000;' DECEL FOR LIMIT HIT OCCURENCE +STC +ENDIF +NO IF (_LFD = 0) | (_LRD = 0) AXIS NOT USED, COMMENTED OUT +NO DCD=100000;' DECEL FOR LIMIT HIT OCCURENCE +NO STD +NO ENDIF +IF (_LFE = 0) | (_LRE = 0) +DCE=150000;' DECEL FOR LIMIT HIT OCCURENCE +STE +ENDIF +NO IF (_LFF = 0) | (_LRF = 0) AXIS NOT USED, COMMENTED OUT +NO DCF=150000;' DECEL FOR LIMIT HIT OCCURENCE +NO STF +NO ENDIF +IF (_LFG = 0) | (_LRG = 0) +DCG=100000;' DECEL FOR LIMIT HIT OCCURENCE +STG +ENDIF +NO IF (_LFH = 0) | (_LRH = 0) AXIS NOT USED, COMMENTED OUT +NO DCH=100000;' DECEL FOR LIMIT HIT OCCURENCE +NO STH +NO ENDIF +AM ABCDEFGH;' AFTER ALL AXES STOPPED +DCA=OLDDCA;' RESET DECEL TO OLD VALUE +DCB=OLDDCB +DCC=OLDDCC +NO DCD=OLDDCD AXIS NOT USED +DCE=OLDDCE +NO DCF=OLDDCF AXIS NOT USED +DCG=OLDDCG +NO DCH=OLDDCH AXIS NOT USED +RE \ No newline at end of file diff --git a/site_ansto/instrument/reflectometer/DMC2280/controller3.txt b/site_ansto/instrument/reflectometer/DMC2280/controller3.txt new file mode 100644 index 00000000..95c84c2c --- /dev/null +++ b/site_ansto/instrument/reflectometer/DMC2280/controller3.txt @@ -0,0 +1,147 @@ +NO TE: PLAYTPUS - CONTROLLER 3 +NO TE: +NO TE: $Revision: 1.1 $ +NO TE: $Date: 2007-01-31 04:09:08 $ +NO TE: Author: Dan Bartlett +NO TE: Limit switch HOME routine added by Ferdi Franceschini +NO TE: Last revision by: $Author: dbx $ +NO TE: +NO TE: A-SLIT S1 LEFT BLADE +NO TE: B-SLIT S1 RIGHT BLADE +NO TE: C-SLIT S1 TOP BLADE +NO TE: D-SLIT S1 BOTTOM BLADE +NO TE: E-SLIT S2 LEFT BLADE +NO TE: F-SLIT S2 RIGHT BLADE +NO TE: G-SLIT S2 TOP BLADE +NO TE: H-SLIT S2 BOTTOM BLADE +NO ---------------------------------------- +#AUTO +NO TE: THIS IS THE PROGRAM THAT RUNS AUTOMATICALLY ON CONTROLLER STARTUP +MT-2,-2,-2,-2,-2,-2,-2,-2;'CONFIGURES ALL AXES AS STEPPER +MO;' FIRST TIME MOTOR OFF +CN 1;' CONFIGURES LIMIT SWITCHES TO ACCEPT NC CONTACTS +II 8,,,0;' CONFIGURES THE 8TH INPUT TO ACTIVATE THE #ININT ROUTINE +IA 137,157,202,133;' CONFIGURES IP ADDRESS +AC 60000,60000,60000,60000,60000,60000,60000,60000;' SET ACELERATION +DC 60000,60000,60000,60000,60000,60000,60000,60000;' SET DECELERATION +SP 30000,30000,30000,30000,30000,30000,30000,30000;' SET SPEED +HOMERUN=0;' HOMING PROCEDURE HAS NOT BEEN RUN +JS #THREAD0 +EN +NO ---------------------------------------- +#THREAD0 +NO TE: THERE MUST BE A THREAD RUNNING FOR #LIMSWI, #TCPERR AND #ININT TO WORK +NO TE: CHECKS IF SPEEDS ARE ABOVE MAXIMUM ALLOWED +IF (_SPA>30000) +SPA=30000 +ENDIF +IF (_SPB>30000) +SPB=30000 +ENDIF +IF (_SPC>30000) +SPC=30000 +ENDIF +IF (_SPD>30000) +SPD=30000 +ENDIF +IF (_SPE>30000) +SPE=30000 +ENDIF +IF (_SPF>30000) +SPF=30000 +ENDIF +IF (_SPG>30000) +SPG=30000 +ENDIF +IF (_SPH>30000) +SPH=30000 +ENDIF +JP#THREAD0 +EN +NO ---------------------------------------- +#TCPERR +NO TE: EMPTY ROUTINE FOR A TCP ERROR +RE +NO ---------------------------------------- +#ININT +NO TE: INTERUPT ROUTINE TO STOP ALL AXES +NO TE: WHEN SAFETY & INTERLOCK SYSTEM REQUESTS IT +STA,B,C,D,E,F,G,H +AM +MO +RI +NO ---------------------------------------- +#HOME +IF (HOMERUN = 1) +JP #ENDHOME +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSA & 4) = 0) +SHA +PRA=200000 +BGA +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSB & 4) = 0) +SHB +PRB=200000 +BGB +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSC & 4) = 0) +SHC +PRC=200000 +BGC +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSD & 4) = 0) +SHD +PRD=200000 +BGD +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSE & 4) = 0) +SHE +PRE=200000 +BGE +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSF & 4) = 0) +SHF +PRF=200000 +BGF +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSG & 4) = 0) +SHG +PRG=200000 +BGG +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSH & 4) = 0) +SHH +PRH=200000 +BGH +ENDIF +AM ABCDEFGH +NO TE: DRIVE ALL SLITS INTO REVERSE LIMIT SWITCH +SH +JG -25000,-25000,-25000,-25000,-25000,-25000,-25000,-25000 +BG +AM ABCDEFGH +NO TE: MOVE AWAY FROM SWITCHES BY 2MM AND DRIVE BACK SLOWLY +PR 80000,80000,80000,80000,80000,80000,80000,80000 +BG +AM ABCDEFGH +JG -5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000 +BG +AM ABCDEFGH +NO TE: MOVE FORWARD FROM SWITCH BY 2MM AND SET ZERO +PR 40000,40000,40000,40000,40000,40000,40000,40000 +BG +AM ABCDEFGH +DP 0,0,0,0,0,0,0,0 +SP 30000,30000,30000,30000,30000,30000,30000,30000 +HOMERUN=1;'HOMING PROCEDURE HAS BEEN RUN +#ENDHOME +EN diff --git a/site_ansto/instrument/reflectometer/DMC2280/controller4.txt b/site_ansto/instrument/reflectometer/DMC2280/controller4.txt new file mode 100644 index 00000000..c4c34c90 --- /dev/null +++ b/site_ansto/instrument/reflectometer/DMC2280/controller4.txt @@ -0,0 +1,147 @@ +NO TE: PLAYTPUS - CONTROLLER 4 +NO TE: +NO TE: $Revision: 1.1 $ +NO TE: $Date: 2007-01-31 04:09:08 $ +NO TE: Author: Dan Bartlett +NO TE: Limit switch HOME routine added by Ferdi Franceschini +NO TE: Last revision by: $Author: dbx $ +NO TE: +NO TE: A-SLIT S3 LEFT BLADE +NO TE: B-SLIT S3 RIGHT BLADE +NO TE: C-SLIT S3 TOP BLADE +NO TE: D-SLIT S3 BOTTOM BLADE +NO TE: E-SLIT S4 LEFT BLADE +NO TE: F-SLIT S4 RIGHT BLADE +NO TE: G-SLIT S4 TOP BLADE +NO TE: H-SLIT S4 BOTTOM BLADE +NO ---------------------------------------- +#AUTO +NO TE: THIS IS THE PROGRAM THAT RUNS AUTOMATICALLY ON CONTROLLER STARTUP +MT-2,-2,-2,-2,-2,-2,-2,-2;'CONFIGURES ALL AXES AS STEPPER +MO;' FIRST TIME MOTOR OFF +CN 1;' CONFIGURES LIMIT SWITCHES TO ACCEPT NC CONTACTS +II 8,,,0;' CONFIGURES THE 8TH INPUT TO ACTIVATE THE #ININT ROUTINE +IA 137,157,202,134;' CONFIGURES IP ADDRESS +AC 60000,60000,60000,60000,60000,60000,60000,60000;' SET ACELERATION +DC 60000,60000,60000,60000,60000,60000,60000,60000;' SET DECELERATION +SP 30000,30000,30000,30000,30000,30000,30000,30000;' SET SPEED +HOMERUN=0;' HOMING PROCEDURE HAS NOT BEEN RUN +JS #THREAD0 +EN +NO ---------------------------------------- +#THREAD0 +NO TE: THERE MUST BE A THREAD RUNNING FOR #LIMSWI, #TCPERR AND #ININT TO WORK +NO TE: CHECKS IF SPEEDS ARE ABOVE MAXIMUM ALLOWED +IF (_SPA>30000) +SPA=30000 +ENDIF +IF (_SPB>30000) +SPB=30000 +ENDIF +IF (_SPC>30000) +SPC=30000 +ENDIF +IF (_SPD>30000) +SPD=30000 +ENDIF +IF (_SPE>30000) +SPE=30000 +ENDIF +IF (_SPF>30000) +SPF=30000 +ENDIF +IF (_SPG>30000) +SPG=30000 +ENDIF +IF (_SPH>30000) +SPH=30000 +ENDIF +JP#THREAD0 +EN +NO ---------------------------------------- +#TCPERR +NO TE: EMPTY ROUTINE FOR A TCP ERROR +RE +NO ---------------------------------------- +#ININT +NO TE: INTERUPT ROUTINE TO STOP ALL AXES +NO TE: WHEN SAFETY & INTERLOCK SYSTEM REQUESTS IT +STA,B,C,D,E,F,G,H +AM +MO +RI +NO ---------------------------------------- +#HOME +IF (HOMERUN = 1) +JP #ENDHOME +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSA & 4) = 0) +SHA +PRA=200000 +BGA +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSB & 4) = 0) +SHB +PRB=200000 +BGB +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSC & 4) = 0) +SHC +PRC=200000 +BGC +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSD & 4) = 0) +SHD +PRD=200000 +BGD +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSE & 4) = 0) +SHE +PRE=200000 +BGE +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSF & 4) = 0) +SHF +PRF=200000 +BGF +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSG & 4) = 0) +SHG +PRG=200000 +BGG +ENDIF +NO TE: MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT SWITCH +IF ((_TSH & 4) = 0) +SHH +PRH=200000 +BGH +ENDIF +AM ABCDEFGH +NO TE: DRIVE ALL SLITS INTO REVERSE LIMIT SWITCH +SH +JG -25000,-25000,-25000,-25000,-25000,-25000,-25000,-25000 +BG +AM ABCDEFGH +NO TE: MOVE AWAY FROM SWITCHES BY 2MM AND DRIVE BACK SLOWLY +PR 80000,80000,80000,80000,80000,80000,80000,80000 +BG +AM ABCDEFGH +JG -5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000 +BG +AM ABCDEFGH +NO TE: MOVE FORWARD FROM SWITCH BY 2MM AND SET ZERO +PR 40000,40000,40000,40000,40000,40000,40000,40000 +BG +AM ABCDEFGH +DP 0,0,0,0,0,0,0,0 +SP 30000,30000,30000,30000,30000,30000,30000,30000 +HOMERUN=1;'HOMING PROCEDURE HAS BEEN RUN +#ENDHOME +EN