C PROGRAM LZ LOOM/ZOOM CONTROL AND RECORDING. COMMON NL,LZ,IHP,SL,SSL,A,SD DIMENSION LZ(128),IHP(16,128) DIMENSION SL(16,2),SSL(16,2),A(16),SD(16) DIMENSION NLZ(2),ZL(5) C C RELAYS[1..5] C 1: LOOM C 2: ZOOM C 3: READY(LOOM) C 4: READY(ZOOM) C 5: END OF TRIAL (REQUEST TO MARK AS GOOD OR BAD) C C SENSE LINES[1..5] C 1: GOOD C 2: BAD C 3: END OF LOOM C 4: END OF ZOOM C 5: START TRIAL C C SENSE SWITCHES[1,2] C 1: PRINT STATISTICS (END OF EXPERIMENT) C 2: PRINT ALL DATA C C ANALOG C 10: HEAD PRESSURE C C*** INITIALIZE C 1 CONTINUE DO 5 I=1,5 CALL RELAY(I,0) 5 CONTINUE JHP=8 MHP=4 I10=-1472 ZL(1)='-ZOOM' ZL(2)='-LOOM' ZL(3)=' ' ZL(4)=' LOOM' ZL(5)=' ZOOM' NL=0 C*** SET UP FOR FIRST TRIAL LOZ=2-ISENS(0) LOZ2=LOZ+2 GOTO 43 C C*** RUN A TRIAL (LOZ) C 20 CONTINUE DZL=ZL(3+LOZ) DNL=ENCODE(NL) C*** TURN ON READY(LOZ) CALL RELAY(LOZ2,1) C*** CLEAR KEYBOARD FLAG SKRB SCLA 21 CONTINUE SKSF SJMP \202 C IF(KRB=3)GOTO 89 SKRB SAND (177 STAD (-3 SSNA CLA GOTO 89 202 CONTINUE CALL DISP9(150,0,DZL) CALL DISP9(200,0,DNL) HP=AHP(JHP) C*** IF SWITCH 1, PRINT STATISTICS IF(ISENS(1))22,22,60 22 CONTINUE IF(LSENS(5))23,23,21 23 CONTINUE NL=NL+1 IHP(1,NL)=HP CALL KWMEA(I10,0,0) CALL RELAY(LOZ2,0) C*** TURN OFF READY, TURN ON MOTOR CALL RELAY(LOZ,1) 30 CONTINUE DO 33 I=2,6 31 CONTINUE IF(ICLCK(1)-50)31,32,32 32 CONTINUE IHP(I,NL)=AHP(JHP)-HP 33 CONTINUE C*** WAIT FOR IMPACT 34 CONTINUE IF(LSENS(LOZ2))35,35,34 35 CONTINUE IHP(I,NL)=AHP(JHP)-HP C*** MEASURE POST IMPACT RESPONSE CALL KWMEA(I10,0,0) DO 39 I=8,10 37 CONTINUE IF(ICLCK(1)-50)37,38,38 38 CONTINUE IHP(I,NL)=AHP(JHP)-HP 39 CONTINUE CALL RELAY(LOZ,0) C*** END OF TRIAL 40 CONTINUE CALL RELAY(5,1) 41 CONTINUE IR=LSENS(2)-LSENS(1) IF(IR)42,41,42 42 CONTINUE CALL RELAY(5,0) LZ(NL)=IR*LOZ LOZ=3-LOZ LOZ2=LOZ+2 IF(IR)43,43,48 C*** BAD: MOVE TARGET BACK IMMEDIATLY 43 CONTINUE CALL RELAY(LOZ,1) 44 CONTINUE CALL DISP9(150,0,ZL(LOZ)) IF(LSENS(LOZ2))45,45,44 45 CONTINUE CALL RELAY(LOZ,0) LOZ=3-LOZ LOZ2=LOZ+2 48 CONTINUE GOTO 20 C C************************************* C C FUNCTION AHP(JHP,KHP) C SENTRY AHP SAHP, BLOCK 2 SINC AHP# SINC AHP# SHP=0 DO 52 KHP=1,MHP SHP=SHP+FLOAT(NALOG(JHP))/FLOAT(MHP) 52 CONTINUE CALL FAD(SHP) SRETRN AHP C C************************************** C C*** CALCULATE AND PRINT STATISTICS 60 CONTINUE CALL RELAY(LOZ2,0) DO 61 I=1,128 SL(I)=0 61 CONTINUE NLZ=0 NLZ(2)=0 WRITE(3,97) C DO 66 I=1,NL K=LZ(I) IF(K)66,66,63 63 CONTINUE WRITE(3,95)I,ZL(3+K),(IHP(J,I),J=1,10) NLZ(K)=NLZ(K)+1 DO 65 J=1,10 HP=IHP(J,I) SL(J,K)=SL(J,K)+HP SSL(J,K)=SSL(J,K)+HP*HP 65 CONTINUE 66 CONTINUE DO 69 K=1,2 DO 68 J=1,10 SP=SL(J,K) A(J)=SP/FLOAT(NLZ(K)) SD(J)=SQRT((SSL(J,K)-SP*A(J))/(FLOAT(NLZ(K)-1))) 68 CONTINUE WRITE(3,93) WRITE(3,96)NLZ(K),ZL(3+K),(A(J),J=1,10) WRITE(3,96)NLZ(K)-1,ZL(3+K),(SD(J),J=1,10) 69 CONTINUE WRITE(3,96)1000 C 70 CONTINUE CALL DISP9(200,0,' SS1') IF(ISENS(1))71,71,70 71 CONTINUE IF(ISENS(2))74,74,72 72 CONTINUE DO 73 I=1,NL WRITE(3,95)I,ZL(3+LZ(I)),(IHP(J,I),J=1,10) 73 CONTINUE WRITE(3,96)1000 74 CONTINUE GOTO 1 89 CONTINUE STOP C 93 FORMAT(' ---------------------') 95 FORMAT(I4': 'A5' '16I6) 96 FORMAT(I4': 'A5' '16F6.0) 97 FORMAT(/' NUM TYPE BASE' +' -2.5 -2.0 -1.5 -1.0 -0.5 T=0.0 +0.5 +1.0 +1.5') END $