C* ** **PROGRAM TO SCALE PRESSURE,VOLUME AND FLOW C POINTS. C C INPUT READ FROM A/D CHANNELS IS FIRST DISPLAYED ON C THE SCOPE. IF O.K. IS SAMPLED AND SCALE FACTORS C ARE PRINTED. C C FILE NAME: PFCAL.AS C REAL NAME DIMENSION D(400),Z(400),QQ(600),KCH(3) DATA P,V,Q/1HP,1HV,1HQ/ WRITE(4,80) 80 FORMAT(' ASSIGN CHANNEL N0: P/V/Q AS XX XX XX:'$) READ(4,81)KCH(1),KCH(2),KCH(3) 81 FORMAT(3(I2,1X)) DO 77 I=1,3 IF(KCH(I).GE.8)KCH(I)=KCH(I)-2 77 CONTINUE 1 WRITE(4,100) 100 FORMAT(1H ///,' P,V OR Q: '$) READ(4,101)K IF(K.EQ.P)ICH=KCH(1) IF(K.EQ.V)ICH=KCH(2) IF(K.EQ.Q)ICH=KCH(3) 101 FORMAT(A1) IF(K.NE.P.AND.K.NE.V.AND.K.NE.Q)STOP 10 IF(K.EQ.P)CALL SCALE(0,-512.,1.3,512.) IF(K.EQ.V)CALL SCALE(0,0,1.3,512.) IF(K.EQ.Q)CALL SCALE(0,-512.,6.5,512.) DO 1000 II=1,2 IF(K.EQ.P)NAME='PRESS.' IF(K.EQ.V)NAME='VOLUME' IF(K.EQ.Q)NAME='FLOW-Q' IF(II.EQ.1)NAME='ZERO ' 11 WRITE(4,105)NAME 105 FORMAT(' READY TO SAMPLE ',A6,' LEVEL.') PAUSE IEND=120 IF(K.EQ.Q)IEND=600 CALL REALTM(Z,400,ICH,1,IEND) CALL CLOCK(8,120) CALL CLRPLT(400,D) HEND=IEND DO 2000 I=1,IEND QQ(I)=ADB(X) CALL PLOT(1,I/92.,QQ(I)) 2000 CONTINUE IF(II.EQ.1)READ(4,106)DQ 106 FORMAT(A2) IF(DQ.NE.'OK')GO TO 11 SIG=0. IF(K.EQ.Q.AND.II.EQ.2)GO TO 5000 SQSIG=0. DO 3000 I=1,IEND SQSIG=SQSIG+QQ(I)*QQ(I) 3000 SIG=SIG+QQ(I) SD=SQRT((HEND*SQSIG-SIG*SIG)/HEND/(HEND-1.)) REND=IEND SIG=SIG/REND IF(II.EQ.2)GO TO 1000 ZERO=SIG IF(SIG.GE.511.)GO TO 500 IF(SIG.LE.-512.)GO TO 600 WRITE(4,107)NAME,ZERO,SD 107 FORMAT(1X,A6,' LEVEL:',F6.1,4X,'SD: ',F6.2) 1000 CONTINUE SIG=SIG-ZERO 20 SF=1/SIG WRITE(4,108)NAME,SIG,SF,SD 108 FORMAT(1X,A6,'=..........'/ X ,' SIGNAL: 'F6.1,' SCALE: 'E13.4,4X,'SD: ',F6.2) GO TO 1 5000 SIG=0. DO 6000 I=1,599 6000 SIG=(QQ(I)+QQ(I+1)-2.*ZERO)/2.+SIG SIG=SIG/120 SF=1/SIG WRITE(4,7000)NAME,SIG,SF 7000 FORMAT(1X,A6,'=..........'/,' SIGNAL: 'E13.4,' SCALE: 'E13.4) GO TO 1 500 WRITE(4,501) GO TO 1 600 WRITE(4,601) GO TO 1 501 FORMAT(' POSITIVE OVERFLOW.') 601 FORMAT(' NEGATIVE OVERFLOW.') END