File: MEAS1.FT of Disk: Disks/MyPDP/m8-1-rka1-rkb1
(Source file text)
SUBROUTINE MEAS1 COMMON/TITLE/FNAME(6),MOTODI,IRUN COMMON/SAMPLE/SPL,SPA,SPV,HANG COMMON/FIELD/NP,HHI,HLO,DRHE3,DRH,DELDRH,VIND,IMIN,ISEC COMMON/PARAM/PS(2),PT(2),PF(2),CALI(2) COMMON/TEMP/TMEAN,TVAR,PM,PV,TM,TV,TSET,DELTP,DELTI,VAPRE C INTEGER ERRDO1,ERRDO2,ERRDV1,ERRDV2 LOGICAL VAPRE C ITERM=4 IFILE=6 PBARA=.0 C H=HHI RH=1./HHI IMAX=(8*(IMIN*60+ISEC))/ NP DO 100 I=1,NP REALI=FLOAT(I) 110 MASK=16+32+64+2048 CALL DOUT(1,MASK,ERRDO1,0) IERRSC=IMAX TARGET=0.1*H OUT=SCINP(3,0,IERRSC,TARGET) ITORQ=DVINP(1+8,2+4,ERRDV1,DUMMY) IF(MOTODI.NE.68) GOTO 120 CALL DOUT(1,MASK,ERRDO2,16+32) IDILA=DVINP(1+8,1+4,ERRDV2,DUMMY) 120 IF(IERRSC.NE.2) GOTO 130 WRITE(ITERM,2000) GOTO 110 130 IF(ERRDV1.NE.4) GOTO 140 WRITE(ITERM,2500) I ITORQ=0 ERRDV1=ERRDV1-4 140 IF((ERRDO1+IERRSC+ERRDV1).NE.0) $ CALL MSERR1(ERRDO1,IERRSC,ERRDV1,IERRDA,0,0) IF(MOTODI.NE.68) GOTO 160 IF(ERRDV2.NE.4) GOTO 150 WRITE(ITERM,2501) I IDILA=0 ERRDV2=ERRDV2-4 150 IF((ERRDV2+IERRSC+ERRDV2).NE.0) $ CALL MSERR1(ERRDO2,IERRSC,ERRDV2,IERRDA,0,1) 160 HMEAS=(OUT+TARGET)*10. IDH=INT(-OUT*1.E5+0.1) IDELH=INT(DELDRH*HMEAS*H*1.E4+0.5) IF(IDH.LE.(IDELH+1)) GOTO 180 IF(IDH.GT.(IDELH+2)) GOTO 170 WRITE(ITERM,2001) I GOTO 180 170 WRITE(ITERM,2002) H IERRSC=IMAX TARGET=0.1*H OUT=SCINP(2,0,IERRSC,TARGET) IF(IERRSC.EQ.2) GOTO 170 WRITE(ITERM,2000) GOTO 110 180 IF(ITORQ.EQ.12500) WRITE(ITERM,2502) I TORQ=FLOAT(ITORQ)/1.E2-5.76 IF(MOTODI.EQ.68) GOTO 190 IF(MOTODI.EQ.84) TORQ=TORQ*HMEAS/HHI WRITE(IFILE,3000) TORQ GOTO 200 190 TORQ=TORQ*HMEAS/HHI DILA=FLOAT(IDILA)/1.E3-5.76 WRITE(IFILE,3001) TORQ,DILA 200 IF(VAPRE) GOTO 300 C C TEMPERATURE BARATRON C MASK=64+128 IDATA=64 CALL DOUT(1,MASK,IERRDO,IDATA) IPBARA=DVINP(1+8,4,IERRDV,DUMMY) IF((IERRDO+IERRDV).NE.0) CALL $ MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,1,0) IF(IPBARA.EQ.125000) CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,2,0) PBARA=FLOAT(IPBARA)/1.E3 PV=PV+((PBARA-PM)**2)*(REALI-1.)/REALI PM=PM+(PBARA-PM)/REALI C C TEMPERATURE SrTiO3 (EXP) C 300 MASK=64+128+256 IDATA=64+128 CALL DOUT(1,MASK,IERRDO,IDATA) ITEXP=DVINP(1+8,1+4,IERRDV,DUMMY) IF((IERRDO+IERRDV).NE.0) $ CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,3,0) IF(ITEXP.EQ.12500) CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,4,0) TEXP=FLOAT(ITEXP)/1.E3 TV=TV+((TEXP-TM)**2)*(REALI-1.)/REALI TM=TM+(TEXP-TM)/REALI C C TEMPERATURE SrTiO3 (REG) C MASK=64+128+256 IDATA=64+128+256 CALL DOUT(1,MASK,IERRDO,IDATA) ITREG=DVINP(1+8,1+4,IERRDV,DUMMY) IF((IERRDO+IERRDV).NE.0) $ CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,5,0) IF(ITREG.EQ.12500) CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,6,0) TREG=FLOAT(ITREG)/1.E3 IF(TREG.LT..5.OR.TREG.GT.5.) $ CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,7,0) DELT=TEXP-TSET DELTP=-DELT/10. DELTI=DELTI-DELT/10. REGSET=DELTP+DELTI C FOR GAS FLOW CRYOSTAT ONLY C IF(REGSET.LT.1.) REGSET=2. IF(REGSET.GT.4.) REGSET=4. IDATA=INT(51.2*REGSET) IOUT=DAC(1,4095,IERRDA,IDATA) IF(IERRDA.NE.0) CALL MSERR1(IERRDO,IERRSC,IERRDV,IERRDA,8,0) C IF(MOTODI.NE.68) $ WRITE(ITERM,2504) I,H,IDH,IDELH,TORQ,PBARA,TEXP,TREG IF(MOTODI.EQ.68) $ WRITE(ITERM,2504) I,H,IDH,IDELH,TORQ,DILA,PBARA,TEXP,TREG C RH=RH+DRH H=1./RH 100 CONTINUE C RETURN 2000 FORMAT (1X,'SWEEP DOWN !') 2001 FORMAT (1X,'FIELD INACCURATE AT',T40,'I =',4X,I4) 2002 FORMAT (1X,'SWEEP UP TO:',T40,'H =',F8.4,' [T]')) C 2500 FORMAT (1X,'TORQUE OR MODULATION: SIGN-CHANGE IN DVM MODE', $ T60,'I =',4X,I4) 2501 FORMAT (1X,'DILATION: SIGN-CHANGE IN DVM MODE', $ T60,'I =',4X,I4) 2502 FORMAT (1X,'TORQUE OR MODULATION: OVERFLOW IN DVM MODE', $ T60,'I =',4X,I4) 2503 FORMAT (1X,'DILATION: OVERFLOW IN DVM MODE', $ T60,'I =',4X,I4) 2504 FORMAT (1X,I4,F10.4,2I5,5F10.3) C 3000 FORMAT (F8.3) 3001 FORMAT (2F8.3) C END