NO TE: WOMBAT - CONTROLLER 3 NO TE: NO TE: $Revision: 1.2 $ NO TE: $Date: 2007-01-31 03:39:19 $ 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-MONOCHROMATOR FOCUS NO TE: B-MONOCHROMATOR FOCUS NO TE: C-SPARE NO TE: D-SPARE NO TE: E-SLIT 1 LEFT BLADE NO TE: F-SLIT 1 RIGHT BLADE NO TE: G-SLIT 1 TOP BLADE NO TE: H-SLIT 1 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,201,69;' CONFIGURES IP ADDRESS AC 12500,12500,,,60000,60000,60000,60000;' SET ACELERATION DC 12500,12500,,,60000,60000,60000,60000;' SET DECELERATION SP 25000,25000,,,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>50000) SPA=50000 ENDIF IF (_SPB>50000) SPB=50000 ENDIF NO IF (_SPC>50000) AXES NOT USED, COMMENTED OUT NO SPC=50000 NO ENDIF NO IF (_SPD>50000) NO SPD=50000 NO 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 ---------------------------------------- #RES SB1 CB1 AI31 IOBYTE1=_TI2 IOBYTE2=_TI3 IOBYTE2=(IOBYTE2&63) IOBYTE2=(IOBYTE2*256) FOCUS1=(IOBYTE1+IOBYTE2) SB1 SB2 CB2 AI31 IOBYTE3=_TI4 IOBYTE4=_TI5 IOBYTE4=(IOBYTE2&63) IOBYTE4=(IOBYTE2*256) FOCUS2=(IOBYTE3+IOBYTE4) SB2 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 ((_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 AMEFGH NO TE: DRIVE ALL SLITS INTO REVERSE LIMIT SWITCH SHEFGH JG ,,,,-25000,-25000,-25000,-25000 BGEFGH AMEFGH NO TE: MOVE AWAY FROM SWITCHES BY 2MM AND DRIVE BACK SLOWLY PR ,,,,80000,80000,80000,80000 BGEFGH AMEFGH JG,,,,-5000,-5000,-5000,-5000 BGEFGH AMEFGH NO TE: MOVE FORWARD FROM SWITCH BY 2MM AND SET ZERO PR ,,,,40000,40000,40000,40000 BGEFGH AMEFGH DP ,,,,0,0,0,0 SP ,,,,30000,30000,30000,30000 HOMERUN=1;'HOMING PROCEDURE HAS BEEN RUN #ENDHOME EN