NO TE: KOWARI - CONTROLLER 3 NO TE: NO TE: $Revision: 1.1 $ NO TE: $Date: 2007-03-20 03:10:55 $ NO TE: Author: Dan Bartlett NO TE: Last revision by: $Author: dbx $ NO TE: NO TE: A-MONOCHROMATOR FOCUS 1 NO TE: B-MONOCHROMATOR FOCUS 1 NO TE: C-SPARE NO TE: D-SPARE NO TE: E-SPARE NO TE: F-SPARE 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 IA 137,157,201,197;' CONFIGURES IP ADDRESS AC 12500,12500,,,,,,;' SET ACELERATION DC 12500,12500,,,,,,;' SET DECELERATION SP 25000,25000,,,,,,;' SET SPEED 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>25000) SPA=25000 ENDIF IF (_SPB>25000) AXES NOT IN USE, COMMENTED OUT SPB=25000 ENDIF NO IF (_SPC>50000) NO SPC=50000 NO ENDIF NO IF (_SPD>50000) NO SPD=50000 NO ENDIF NO IF (_SPE>30000) NO SPE=30000 NO ENDIF NO IF (_SPF>30000) NO SPF=30000 NO ENDIF NO IF (_SPG>30000) NO SPG=30000 NO ENDIF NO IF (_SPH>30000) NO SPH=30000 NO ENDIF NO TE: PROCEDURE TO UPDATE THE RESOLVER FEEDBACK. NO TE: RESOLVER NUMBER 1 CB1;' OUTPUT WITH FALLING EDGE TO TRIGGER EMPIRE RESOLVER BOX AI31;' LOCK DATA IOBYTE1=_TI2;' LOAD FIRST WORD IOBYTE2=_TI3;' LOAD SECOND WORD IOBYTE2=(IOBYTE2&63);' MASK OUT XBUSY BIT IOBYTE2=(IOBYTE2*256);' SHIFT REMAINING BITS 8 POSITIONS TO RIGHT DEA=(IOBYTE1+IOBYTE2);' ADD WORDS TOGETHER, LOAD INTO DEA, USE TPA FOR VALUE NO TE: RESOLVER NUMBER 2 CB2;' OUTPUT WITH FALLING EDGE TO TRIGGER EMPIRE RESOLVER BOX AI32;' LOCK DATA IOBYTE3=_TI4;' LOAD FIRST WORD IOBYTE4=_TI5;' LOAD SECOND WORD IOBYTE4=(IOBYTE4&63);' MASK OUT XBUSY BIT IOBYTE4=(IOBYTE4*256);' SHIFT REMAINING BITS 8 POSITIONS TO RIGHT DEB=(IOBYTE3+IOBYTE4);' ADD WORDS TOGETHER, LOAD INTO DEB, USE TPB FOR VALUE SB1 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 ----------------------------------------