Files
sics/site_ansto/instrument/reflectometer/DMC2280/controller4.txt
Dan Bartlett 433a07ce0c SLIT HOMING ROUTINE RE-WRITTEN TO UTILISE HIGH REPEATABILITY HOME LIMIT SWITCHES
r1420 | dbx | 2007-01-31 18:30:49 +1100 (Wed, 31 Jan 2007) | 2 lines
2012-11-15 12:57:20 +11:00

131 lines
3.2 KiB
Plaintext

NO TE: PLAYTPUS - CONTROLLER 4
NO TE:
NO TE: $Revision: 1.4 $
NO TE: $Date: 2007-01-31 07:30:49 $
NO TE: Author: Dan Bartlett
NO TE: Last revision by: $Author: dbx $
NO TE:
NO TE: A-SLIT S3 TOP BLADE
NO TE: B-SLIT S3 BOTTOM BLADE
NO TE: C-SLIT S3 WEST BLADE
NO TE: D-SLIT S3 EAST BLADE
NO TE: E-SLIT S4 TOP BLADE
NO TE: F-SLIT S4 BOTTOM BLADE
NO TE: G-SLIT S4 WEST BLADE
NO TE: H-SLIT S4 EAST 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
NO TE: THIS ROUTINE HOMES THE SLITS.
NO TE: IT USES THE HIGH REPEATABILITY HOME LIMIT SWITCHES
NO TE: IT WILL NOT WORK WITH OTHER SLIT PACKAGES WITHOUT THE HOME LIMITS
IF (HOMERUN = 1)
JP #ENDHOME
ENDIF
SH
IF (_LRA=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRA=201250
BGA
ENDIF
IF (_LRB=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRB=201250
BGB
ENDIF
IF (_LRC=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRC=201250
BGC
ENDIF
IF (_LRD=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRD=201250
BGD
ENDIF
IF (_LRE=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRE=201250
BGE
ENDIF
IF (_LRF=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRF=201250
BGF
ENDIF
IF (_LRG=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRG=201250
BGG
ENDIF
IF (_LRH=0);' MOVE SLIT FORWARD 10MM IF IT IS AGAINST THE REVERSE LIMIT
PRH=201250
BGH
ENDIF
AM ABCDEFGH
JG -30000,-30000,-30000,-30000,-30000,-30000,-30000,-30000
BG;' OPEN ALL SLITS TO LIMITS
AM ABCDEFGH
FE;' DRIVE TO THE HOME LIMIT AT FULL SPEED
BG
AM ABCDEFGH
PR -100625,-100625,-100625,-100625,-100625,-100625,-100625,-100625;
BG;' MOVE AWAY 5MM
AM ABCDEFGH
SP 7500,7500,7500,7500,7500,7500,7500,7500;' REDUCE SPEED
FE;' DRIVE TO HOME LIMIT AT LOW SPEED
BG
AM ABCDEFGH
DP 0,0,0,0,0,0,0,0;' DEFINE EACH AXIS POSTION AS ZERO
SP 30000,30000,30000,30000,30000,30000,30000,30000;' SPEED BACK TO NORMAL
HOMERUN=1;'HOMING PROCEDURE HAS BEEN RUN
#ENDHOME
EN