NO TE: PLAYTPUS - CONTROLLER 3 NO TE: NO TE: $Revision: 1.5 $ NO TE: $Date: 2007-02-01 23:54:38 $ NO TE: Author: Dan Bartlett NO TE: Last revision by: $Author: dbx $ NO TE: NO TE: A-SLIT S1 WEST BLADE NO TE: B-SLIT S1 EAST BLADE NO TE: C-SLIT S1 TOP BLADE NO TE: D-SLIT S1 BOTTOM BLADE NO TE: E-SLIT S2 WEST BLADE NO TE: F-SLIT S2 EAST 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 NO TE: THIS ROUTINE HOMES THE SLITS. NO TE: IT USES THE HIGH REPEATABILITY HOME LIMIT SWITCHES ON SLIT 2 NO TE: SLIT 1 DOES NOT HAVE HOME LIMITS. ITS HOMED IN THE CONVENTIONAL WAY 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 EFGH;' DRIVE SLIT 2 TO THE HOME LIMIT AT FULL SPEED BG EFGH AM EFGH PR 100625,100625,100625,100625,-100625,-100625,-100625,-100625; BG;' MOVE AWAY 5MM AM ABCDEFGH SP ,,,,7500,7500,7500,7500;' REDUCE SPEED FE EFGH;' DRIVE TO LIMIT AT LOW SPEED JG -7500,-7500,-7500,-7500 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