File PFCAL.AS

Directory of image this file is from
This file as a plain text file

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



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search