10 REM ** KALIBRATIONSPROGRAMM URV5/NRV ** 20 REM 30 REM VERSION PAT/PATC/PSA/PSAC 40 REM 50 REM 60 REM 70 REM 80 REM 90 REM 100 IEC TIME 2000: IEC TERM 0: IEC DCL 120 PRINT "~[y~[b" 130 ON ERROR GOTO 150 140 SCREEN 16: IF ERM(0)<>0 THEN SCREEN 15: IF ERM(0)<>0 THEN SCREEN 8 150 ON ERROR RETURN 160 DOT 100,100: CLEAR 200 Ad$=MID$(DATE$,4,2) 210 Am$=MID$(DATE$,1,2) 220 Ay$=MID$(DATE$,7,2) 540 DIM AO$(13),C$(3,3,1),CW$(4,3),DF$(3),DV$(13),E(3,3),EC(1),EM(1),E$(3,3) 550 DIM E0$(3,3,1),E1$(3,3,1),F$(3),M$(3,3,1),O(3,3),PW$(6),V$(3,3),Z$(3,3,1) 560 DIM D$(3,3,1),SE(4) 1330 REM DC 1360 F$(0)="CA6" 1380 C$(0,0,0)="V1+0000000" 1390 C$(0,0,1)="V1+0010000" 1400 C$(0,1,0)="V1+0000000" 1410 C$(0,1,1)="V1+0100000" 1420 C$(0,2,0)="V1+0000000" 1430 C$(0,2,1)="V1+1000000" 1440 C$(0,3,0)="V2+0000000" 1450 C$(0,3,1)="V2+0400000" 1470 V$(0,0)=" 100.00E-03" 1480 V$(0,1)=" 1000.0E-03" 1490 V$(0,2)=" 10.000E+00" 1500 V$(0,3)=" 40.00E+00" 1530 REM UC 1560 F$(1)="CA1" 1580 C$(1,0,0)="V1-0000000" 1590 C$(1,0,1)="V1-0300000" 1610 V$(1,0)=" -3.000E+00" 1640 REM AC+ 1670 F$(2)="CA5" 1690 C$(2,0,0)="V0+0000000" 1700 C$(2,0,1)="V0+0060000" 1710 C$(2,1,0)="V1+0000000" 1720 C$(2,1,1)="V1+0018000" 1730 C$(2,2,0)="V1+0000000" 1740 C$(2,2,1)="V1+0180000" 1750 C$(2,3,0)="V2+0000000" 1760 C$(2,3,1)="V2+0180000" 1780 V$(2,0)=" 6.000E-03" 1790 V$(2,1)=" 180.00E-03" 1800 V$(2,2)=" 1.8000E+00" 1810 V$(2,3)=" 18.000E+00" 1840 REM AC- 1870 F$(3)="CA5" 1890 C$(3,0,0)="V0-0000000" 1900 C$(3,0,1)="V0-0060000" 1910 C$(3,1,0)="V1-0000000" 1920 C$(3,1,1)="V1-0018000" 1930 C$(3,2,0)="V1-0000000" 1940 C$(3,2,1)="V1-0180000" 1950 C$(3,3,0)="V2-0000000" 1960 C$(3,3,1)="V2-0180000" 1980 V$(3,0)=" -6.000E-03" 1990 V$(3,1)="-180.00E-03" 2000 V$(3,2)="-1.8000E+00" 2010 V$(3,3)="-18.000E+00" 2030 REM OFFSET TOLERANCES/V 2060 O(0,0)=0.0005 2070 O(0,1)=0.0005 2080 O(0,2)=0.005 2090 O(0,3)=0.05 2110 O(1,0)=0.005 2130 O(2,0)=0.00002 2140 O(2,1)=0.00005 2150 O(2,2)=0.0005 2160 O(2,3)=0.005 2180 O(3,0)=0.00002 2190 O(3,1)=0.00005 2200 O(3,2)=0.0005 2210 O(3,3)=0.005 2240 REM GAIN TOLERANCES 2270 E(0,0)=0.0007 2275 E$(0,0)="0.07" 2280 E(0,1)=0.0007 2285 E$(0,1)="0.07" 2290 E(0,2)=0.0007 2295 E$(0,2)="0.07" 2300 E(0,3)=0.0007 2305 E$(0,3)="0.07" 2320 E(1,0)=0.0007 2325 E$(1,0)="0.07" 2340 E(2,0)=0.001 2345 E$(2,0)="0.1" 2350 E(2,1)=0.0007 2355 E$(2,1)="0.07" 2360 E(2,2)=0.0007 2365 E$(2,2)="0.07" 2370 E(2,3)=0.0007 2375 E$(2,3)="0.07" 2390 E(3,0)=0.001 2395 E$(3,0)="0.1" 2400 E(3,1)=0.0007 2405 E$(3,1)="0.07" 2410 E(3,2)=0.0007 2415 E$(3,2)="0.07" 2420 E(3,3)=0.0007 2425 E$(3,3)="0.07" 2430 REM ANALOG OUTPUT TOLERANCE/V 2440 EA=0.0007 2445 EA$="0.0007" 2450 REM MARKER STRING 2480 DF$(0)=" DC " 2490 DF$(1)=" UC " 2500 DF$(2)=" AC+" 2510 DF$(3)=" AC-" 3020 REM DEFAULT VALUES 1.MENUE 3050 ID$=" " 3060 AC$="20" 3065 AS$=" 8" 3070 AV$=" 9" 3084 REM DEFAULT VALUES FOR PRINTOUT 3086 NC$=" " 3088 NT$=" " 3090 OD$=" " 3092 Vs$=" " 3100 REM INPUTS FOR STEP BY STEP ANALYSIS 3130 PW$(0)="A" 3140 PW$(1)="C" 3150 PW$(2)="D" 3160 PW$(3)="F" 3180 PW$(4)="U" 3240 PW$(5)="CH" 3250 PW$(6)="AC" 3310 CW$(0,0)="CHA" 3320 CW$(0,1)="CHB" 3322 Cw$(0,2)="--" 3324 Cw$(0,3)="--" 3330 Cw$(1,0)="DC" 3340 Cw$(1,1)="UC" 3350 CW$(1,2)="AC+" 3360 CW$(1,3)="AC-" 3370 Cw$(2,0)="1" 3380 Cw$(2,1)="2" 3390 Cw$(2,2)="3" 3400 Cw$(2,3)="4" 3410 Cw$(3,0)="F1" 3420 Cw$(3,1)="F2" 3430 Cw$(3,2)="F4" 3440 Cw$(3,3)="F5" 3450 Cw$(4,0)="O" 3460 Cw$(4,1)="M" 3470 Cw$(4,2)="E" 3472 Cw$(4,3)="--" 3510 REM STRINGS FOR ANALOG OUTPUT 3540 DV$(0)=" .0000" 3550 DV$(1)=" .0010" 3560 DV$(2)=" .0020" 3570 DV$(3)=" .0040" 3580 DV$(4)=" .0080" 3590 DV$(5)=" .0160" 3600 DV$(6)=" .0320" 3610 DV$(7)=" .0640" 3620 DV$(8)=" .1280" 3630 DV$(9)=" .2560" 3640 DV$(10)=" .5120" 3650 DV$(11)=" 1.0240" 3660 DV$(12)="-2.0480" 3670 DV$(13)=" 2.0470" 3700 REM FLAGS 3710 FA=0 7999 REM 8010 REM 1.MENUE 8030 REM 8070 GOSUB 12720 8080 IF Fa=1 THEN 8090 8082 INPUT ID$: ID$=" "+ID$: C=0 8083 ID$=LEFT$(ID$,LEN(ID$)-1): C=C+1 8084 IF RIGHT$(Id$,1)=" " AND C<14 THEN 8083 8087 Id$=RIGHT$(Id$,12) 8088 PRINT "~[1A~[18C ";Id$;" *" 8090 GOSUB 19000 8100 PRINT "~[4CANALOG OUTPUT (Y/N) ";Af$;"~[2D"; 8105 IF Fa=1 THEN 8210 8110 INPUT AF$: AF$=LEFT$(AF$,1) 8112 IF Af$="Y" OR Af$="y" THEN Af$="Y" ELSE Af$="N" 8115 PRINT "~[1A~[23C ";Af$;" *" 8120 GOTO 8210 8200 PLAY "A1" 8210 ON ERROR GOTO 8200 8220 GOSUB 19000: PRINT "~[2B~[4C URV5/NRV ";Av$;" *~[8D"; 8225 IF Fa=1 THEN 8330 8230 INPUT A$ 8240 PRINT "~[2A" 8250 Av=VAL(A$): IF Av<0 OR Av>31 THEN 8200 8260 IEC LAD Av: IEC SDC : IEC OUT Av,"CALIBRATION,CAQ0,CAN0" 8280 IEC IN Av,A$: IF RIGHT$(A$,9)<>"NOT READY" THEN 8200 8290 AV$=" "+STR$(AV): AV$=RIGHT$(AV$,2) 8300 PRINT "~[29C ";Av$;" *" 8310 ON ERROR RETURN : GOTO 8330 8320 PLAY "A1" 8330 ON ERROR GOTO 8320 8335 GOSUB 19000 8340 PRINT "~[3B~[16CDC CALIBRATOR ";Ac$;" *~[8D"; 8345 IF Fa=1 THEN 8430 8350 INPUT A$ 8360 PRINT "~[2A" 8370 Ac=VAL(A$): IF Ac<0 OR Ac>31 OR Ac=Av THEN 8320 8380 IEC OUT Ac,C$(0,0,0); 8400 AC$=" "+STR$(AC): AC$=RIGHT$(AC$,2) 8410 PRINT "~[29C ";Ac$;" *" 8420 ON ERROR RETURN : GOTO 8440 8430 PLAY "A1" 8440 ON ERROR GOTO 8430 8445 FA=0 8447 GOSUB 19000 8450 PRINT "~[4B~[16CUDS5 ";As$;" *~[8D"; 8460 INPUT A$ 8470 PRINT "~[2A" 8480 AS=VAL(A$) 8490 IF LEFT$(A$,2)<>"XX" THEN 8510 8492 As$="XX" 8495 IF Af$="N" THEN 8560 8497 PLAY "A1": GOTO 8090 8510 IF LEFT$(A$,2)="xx" THEN 8492 ELSE IF As<0 OR As>31 THEN 8430 8520 IEC LAD AS: IEC SDC 8530 IF St<>0 THEN 8430 8540 IEC IN As,A$: IF RIGHT$(A$,13)<>"NOT TRIGGERED" THEN 8430 8542 IEC OUT As,"Q1" 8550 AS$=" "+STR$(AS): AS$=RIGHT$(AS$,2) 8560 PRINT "~[29C ";As$;" *" 8565 ON ERROR RETURN 8570 PRINT "~[1B~[4CDATE DAY ";Ad$;" *~[8D"; 8580 INPUT A$ 8590 IF VAL(A$)<32 AND VAL(A$)>0 THEN 8610 8600 PLAY "A1": PRINT "~[3A": GOTO 8570 8610 AD$=STR$(INT(VAL(A$))) 8620 AD$="0"+AD$: AD$=RIGHT$(RIGHT$(AD$,LEN(AD$)-1),2) 8630 PRINT "~[1A~[20C *~[9D ";Ad$ 8640 PRINT "~[16CMONTH ";Am$;" *~[8D"; 8650 INPUT A$ 8660 IF VAL(A$)<13 AND VAL(A$)>0 THEN 8680 8670 PLAY "A1": PRINT "~[2A": GOTO 8640 8680 AM$=STR$(INT(VAL(A$))) 8690 AM$="0"+AM$: AM$=RIGHT$(RIGHT$(AM$,LEN(AM$)-1),2) 8700 PRINT "~[1A~[21C *~[9D ";Am$ 8710 PRINT "~[16CYEAR ";Ay$;" *~[8D"; 8720 INPUT A$ 8730 IF VAL(A$)<100 THEN 8750 8740 PLAY "A1": PRINT "~[2A": GOTO 8710 8750 Ay$=STR$(INT(VAL(A$))) 8760 Ay$="0"+Ay$: Ay$=RIGHT$(RIGHT$(Ay$,LEN(Ay$)-1),2) 8770 PRINT "~[1A~[20C *~[9D ";Ay$: HOLD 500 8780 Dd$=Ad$+"."+Am$+"."+Ay$ 8810 REM 8830 REM 2.MENUE - CHOICE OF CAL. MODE 8850 REM 8860 IEC LAD Av: IEC SDC : IEC OUT Av,"CALIBRATION,CADD"+Am$+Ay$+",CAQ1,CAN0" 8865 GOSUB 12720 8930 GOSUB 19000 8940 PRINT "~[3C CALIBRATION + MEASUREMENT C" 8950 PRINT "~[1B~[4C------------ MEASUREMENT M" 8960 PRINT "~[1B~[4CSTEP BY STEP ANALYSIS S" 8965 PRINT "~[1B~[4CADJUSTMENT OF CAL ADAPTER A" 8967 PRINT "~[1B~[4CCHANGE INPUT DATA R" 8970 INKEY X$ 8972 IF X$="C" OR X$="c" THEN 8994 8974 IF X$="M" OR X$="m" THEN 8995 8980 IF X$="S" OR X$="s" THEN 13800 8985 IF X$="A" OR X$="a" THEN 11022 8987 IF X$="R" OR X$="r" THEN 8070 8988 GOTO 8970 8990 REM 8991 REM CAL./MEASUREMENT ROUTINE 8992 REM 8994 HD$="CALIBRATION": GOTO 9020 8995 HD$="MEASUREMENT" 9020 GOSUB 12720 9030 PD=0: X3=41 9040 Ec(0)=0: Em(0)=0: SET 0,1,0: MOVE X3,6: AREA 145,14: SET 1 9050 FOR I=0 TO 3 9052 FOR J=0 TO 3 9054 E0$(I,J,0)=" ": E1$(I,J,0)=" " 9056 NEXT J: NEXT I 9150 PRINT "~[0;0H~[14B~[1C" 9160 PRINT "~[1A~[1C ";Hd$;" IS RUNNING " 9170 PRINT "~[1C " 9175 PRINT "~[1C " 9180 PRINT "~[1C " 9185 PRINT "~[1C " 9190 PRINT "~[1C CHA CHB " 9200 PRINT "~[1C " 9270 Cr=0: Cf=0: Ch=0: Pa=0: U0$="A": X2=40: MOVE 40,5 9275 DRAW 40,40: DRAW 252,40: DRAW 252,5: DRAW 40,5 9277 DRAW 40,15: DRAW 252,15: MOVE 146,5: DRAW 146,40: MOVE 41,15 9280 IEC OUT AV,"CAP"+U0$+",CAF2" 9300 IEC OUT Ac,C$(Cf,Cr,0); 9310 IEC OUT AV,"CAE1,"+F$(CF)+","+"CARB"+V$(CF,CR) 9315 IF Cf=1 OR Cr>1 OR (Cf=0 AND Cr=1) THEN 9320 9317 PD=1: FL=0: GOTO 9740 9320 X2=X2+1: MOVE X3,6: AREA X2,15 9330 X2=X2+1: MOVE X3,6: AREA X2,15 9340 IF (X$="M" OR X$="m" OR (Ch=1 AND Cf<2)) THEN 9720 9350 REM 9360 REM OFFSET CALIBRATION 9380 REM 9400 IEC OUT Av,"CAQ0,CAQ1,CAL" 9410 GOSUB 15800: IF V%=104 THEN 9450 9420 IF V%=113 THEN 9510 9430 IF V%<>86 THEN 9400 9445 GOTO 9550 9450 PRINT "~[0,0H~[13B"; 9460 GOSUB 14980 9470 IF Pa=1 THEN 9460 9480 IF U0$="A" OR Ua$="a" THEN 9040 9490 GOTO 10120 9492 REM 9500 REM ERROR ANALYSIS 9502 REM 9510 IEC IN AV,F$: F$=MID$(F$,9,4) 9520 EC(CH)=EC(CH)+VAL(F$) 9530 E0$(CF,CR,CH)=" "+F$+" ": E1$(CF,CR,CH)=" " 9540 IEC OUT AV,"CAC1,"+"CARB"+V$(CF,CR): GOTO 9720 9544 REM 9545 REM CALIBRATION 9546 REM 9550 IEC OUT Ac,C$(Cf,Cr,1); 9560 IEC OUT Av,"CAQ0,CAQ1,CAL" 9570 GOSUB 15800: IF V%=104 THEN 9610 9580 IF V%=113 THEN 9670 9590 IF V%<>86 THEN 9560 9605 GOTO 9720 9610 PRINT "~[0,0H~[13B"; 9620 GOSUB 14980 9630 IF Pa=1 THEN 9620 9640 IF U0$="A" OR Ua$="a" THEN 9040 9650 GOTO 10120 9659 REM 9660 REM ERROR ANALYSIS 9661 REM 9670 IEC IN AV,F$: F$=MID$(F$,9,4) 9680 EC(CH)=EC(CH)+VAL(F$) 9690 E1$(CF,CR,CH)=" "+F$+" " 9700 IEC OUT AV,"CAC1,"+"CARB"+V$(CF,CR) 9709 REM 9710 REM MEASUREMENT 9711 REM 9720 X2=X2+1: MOVE X3,6: AREA X2,15 9730 X2=X2+1: MOVE X3,6: AREA X2,15 9740 IEC OUT Ac,C$(Cf,Cr,1); 9750 IEC OUT Av,"CAQ0,CAQ1,CAX1" 9760 GOSUB 15800: INKEY G$: IF G$="Q" OR G$="q" THEN IEC IN Av,F1$: GOTO 9850 9762 IF V%=80 THEN 9835 9770 IF V%=104 THEN 9790 9780 GOTO 9750 9790 GOSUB 15730 9795 PRINT "~[1A"; 9800 GOSUB 14980 9810 IF Pa=1 THEN 9800 9820 IF U0$="A" OR Ua$="a" THEN 9040 9830 GOTO 10120 9835 IEC IN AV,F1$: M$(CF,CR,CH)=RIGHT$(F1$,11) 9837 IF Pd=0 THEN 9858 9838 IF Cf>1 AND Cr=0 THEN 9844 9839 IF Cf>1 AND Cr=1 THEN 9846 9841 IF ABS(VAL(M$(0,0,Ch))/VAL(V$(0,0))-1)<0.1 THEN 9850 9842 PRINT "~[0;0H~[14B~[3C CONNECT ADAPTER TO CALIBRATOR ": GOTO 9848 9844 IF ABS(VAL(M$(Cf,0,Ch))/VAL(V$(Cf,0))-1)<.2 THEN 9850 9845 PRINT "~[0;0H~[14B~[2C CONNECT ADAPTER TO 100MV OUTPUT": GOTO 9848 9846 IF ABS(VAL(M$(Cf,1,Ch))/VAL(V$(Cf,1))-1)<.1 THEN 9850 9847 GOTO 9842 9848 IF Fl=1 THEN 9750 9849 PRINT "~[1B~[23CEXIT WITH Q": PLAY "A1": Fl=1: GOTO 9750 9850 Pd=0: GOSUB 19200: IEC OUT Ac,C$(Cf,Cr,0);: HOLD 1000: GOTO 9320 9858 X2=X2+1: MOVE X3,6: AREA X2,15 9860 REM 9861 REM OFFSET MEASUREMENT 9862 REM 9868 IEC OUT Ac,C$(Cf,Cr,0); 9870 X2=X2+1: MOVE X3,6: AREA X2,15 9880 IEC OUT Av,"CAQ0,CAQ1,CAX1" 9890 GOSUB 15800: IF V%=80 THEN 9970 9900 IF V%=104 THEN 9920 9910 GOTO 9880 9920 PRINT "~[0;0H~[13B" 9930 GOSUB 14980 9940 IF Pa=1 THEN 9930 9950 IF U0$="A" OR Ua$="a" THEN 9040 9960 GOTO 10120 9970 IEC IN AV,F0$: Z$(CF,CR,CH)=RIGHT$(F0$,11) 9980 GOSUB 12410 9990 X2=X2+1: MOVE X3,6: AREA X2,15 10000 X2=X2+1: MOVE X3,6: AREA X2,15 10010 CR=CR+1 10020 IF Cr=4 OR (Cr=1 AND Cf=1) THEN 10040 10030 GOTO 9300 10040 Cf=Cf+1: Cr=0: IF Cf<4 THEN 9300 10050 IF Ch=0 THEN 10115 10060 GOTO 10220 10070 REM 10090 REM START CH B 10110 REM 10115 PD=0 10120 U0$="B": EC(1)=0: EM(1)=0 10122 FOR I=0 TO 3 10124 FOR J=0 TO 3 10126 E0$(I,J,1)=" ": E1$(I,J,1)=" " 10128 NEXT J: NEXT I 10130 PRINT "~[0;0H~[14B~[1C " 10140 PRINT "~[1A~[1C ";Hd$;" IS RUNNING " 10145 X3=147 10150 SET 0,1,0: MOVE X3,6: AREA 251,13: SET 1: X2=147 10160 CF=0: CR=0: CH=1: GOTO 9280 10170 REM 10190 REM ADJUSTMENT OF ANALOG OUTPUT 10210 REM 10220 IF Af$="N" THEN 12040 10284 IF X$="M" OR X$="m" THEN 10645 10286 GOSUB 12720 10290 PRINT "~[0;0H~[14B~[3C ADJUSTMENT OF ANALOG OUTPUT" 10300 PRINT "~[3B" 10310 PRINT "~[15C " 10320 PRINT "~[6C-2.0478 -2.0482 " 10330 PRINT "~[15C " 10340 PRINT "~[2A" 10345 MOVE 118,-5: DRAW 195,-5: DRAW 195,17: DRAW 118,17: DRAW 118,-5 10350 IEC OUT AV,"CAE1,CA2L" 10360 IEC OUT AS,"RDU3,F0" 10370 PRINT "~[0;0H~[16B~[1C ADJUST R5 - CONTINUE WITH Q" 10380 PRINT : PRINT : PRINT "~[h": PLAY "A1" 10390 IEC OUT AS,"X1" 10392 GOSUB 15900: INKEY G$: IF G$="Q" OR G$="q" THEN 10470 10394 IF V%<>80 THEN 10390 10400 IEC IN AS,A$ 10410 A$=MID$(A$,9,7) 10420 IF (VAL(A$)<-2.0478 AND VAL(A$)>-2.0482) THEN 10450 10430 PRINT "~[16C";A$;"*~[1A" 10440 GOTO 10460 10450 PRINT "~[16C";A$;" ~[1A" 10460 GOTO 10390 10470 IEC OUT AV,"CAE1,CA2H" 10480 IEC OUT AS,"RDU3,F0" 10490 PRINT "~[0;0H~[16B~[1C ADJUST R9 - CONTINUE WITH Q" 10500 PRINT : PRINT : PRINT : PLAY "A1" 10510 PRINT "~[6C 2.0468~[13C 2.0472 ~[1A" 10520 IEC OUT AS,"X1" 10522 GOSUB 15900: INKEY G$: IF G$="Q" OR G$="q" THEN PRINT "~[l": GOTO 10645 10524 IF V%<>80 THEN 10520 10530 IEC IN AS,A$ 10540 A$=MID$(A$,9,7) 10550 IF (VAL(A$)>2.0468 AND VAL(A$)<2.0472) THEN 10580 10560 PRINT "~[16C";A$;"*~[1A" 10570 GOTO 10590 10580 PRINT "~[16C";A$;" ~[1A" 10590 GOTO 10520 10600 REM 10620 REM CHECK OF ANALOG OUTPUT 10640 REM 10645 FL=0 10650 GOSUB 12720 10655 PRINT "~[0;0H~[14B~[1C CHECK OF ANALOG OUTPUT" 10710 IEC OUT AV,"CAE1,CA2L" 10720 IEC OUT AS,"RDU3,F0" 10730 IEC OUT AS,"X1" 10731 GOSUB 15900: INKEY G$: IF G$="Q" OR G$="q" THEN 10760 10732 IEC IN AS,A$ 10734 AO$(12)=MID$(A$,9,7) 10736 IF ABS(VAL(Ao$(12))/VAL(Dv$(12))-1)<.1 THEN 10750 10738 IF Fl<>0 THEN 10720 10740 PRINT "~[0;0H~[16B~[1C CONNECT UDS5 TO ANALOG OUTPUT " 10741 PRINT "~[1B~[23CEXIT WITH Q" 10742 PLAY "A1": FL=1: GOTO 10720 10750 IF Fl=0 THEN 10760 10752 GOSUB 19100: FL=0: HOLD 1000: GOTO 10720 10760 GOSUB 19100: IF ABS(VAL(Ao$(12))+2.0480)"XX" THEN 11030 11024 FA=1: GOTO 8070 11030 U0$="A": GOSUB 12720 11040 PRINT : PRINT "~[4B~[7CADJUSTMENT OF CAL ADAPTER" 11050 REM RESET DC CALIBRATOR 11060 IEC OUT Ac,C$(0,0,0); 11070 REM SETTING UDS5 11080 IEC OUT AS,"RR5" 11090 REM SETTING URV5 11100 IEC OUT AV,"CAPA,CAN1,CAE1,CAF4,CA6,CARB10" 11105 FL=0 11110 IEC OUT Av,"CAQ0,CAQ1,CAX1" 11120 GOSUB 15800: INKEY G$: IF G$="Q" OR G$="q" THEN 11205 11125 IF V%=80 THEN 11180 11130 IF V%=104 THEN 11150 11140 PRINT V%: GOTO 11110 11150 PRINT "~[0;0H~[13B" 11160 GOSUB 14980 11170 IF Pa=1 THEN 11160 11175 GOTO 11100 11180 IEC IN AV,A$ 11185 IF ABS(VAL(A$)+.67)<.2 THEN 11205 11187 IF Fl<>0 THEN 11110 11188 PLAY "A1": FL=1 11190 PRINT "~[0;0H~[14B~[3C CONNECT ADAPTER TO UDS5 INPUT " 11195 PRINT "~[1B~[23CEXIT WITH Q" 11200 GOTO 11110 11205 FL=0 11210 IEC OUT AV,"CAE1" 11220 IEC OUT AV,"CAC1,CAX1" 11230 IEC SPL AV,V% 11240 IF V%=104 THEN 11310 11262 IF Fl<>0 THEN 11230 11265 PLAY "A1": FL=1 11267 GOSUB 19100 11270 PRINT "~[0;0H~[14B~[3C DISCONNECT ADAPTER FROM URV5 " 11280 GOTO 11220 11310 PRINT "~[0;0H~[18B" 11320 PRINT "~[7C " 11330 PRINT "~[6C999.94 < < 1000.06 " 11340 PRINT "~[15C " 11350 PRINT "~[2A" 11355 MOVE 120,-5: DRAW 195,-5: DRAW 195,17: DRAW 120,17: DRAW 120,-5 11360 IEC OUT AS,"RR5,F0" 11370 PRINT "~[0;0H~[14B~[1C ADJUST ADAPTER - CONTINUE WITH Q" 11380 PRINT : PRINT : PRINT : PRINT : PRINT : PRINT "~[h"; 11390 IEC OUT AS,"X1" 11392 GOSUB 15900: INKEY G$: IF G$="Q" OR G$="q" THEN PRINT "~[l";: GOTO 8850 11394 IF V%<>80 THEN 11392 11400 IEC IN AS,A$ 11410 A$=MID$(A$,9,7) 11420 IF ABS(VAL(A$)-1000)<.05 THEN 11450 11430 PRINT "~[16C";A$;"*~[1A" 11440 GOTO 11460 11450 PRINT "~[16C";A$;" ~[1A" 11460 GOTO 11390 12010 REM 12020 REM 3.MENUE - RESULTS 12040 REM 12042 Fl=0: IF Ec(0)+Ec(1)+Em(0)+Em(1)=0 THEN 12046 12044 PLAY "A1": HOLD 200: PLAY "A1": HOLD 200: PLAY "A1": HOLD 200: FL=1 12046 PLAY "A1" 12050 GOSUB 12720 12060 IF X$="C" OR X$="c" THEN 12090 12080 IF Fl=1 THEN PRINT "~[0;0H~[12B~[11C * LIMITS EXCEEDED *" 12085 GOTO 12130 12090 IF Fl=1 THEN PRINT "~[0;0H~[12B~[8C* CALIBRATION INCORRECT! *" 12120 PRINT "~[0;0H~[15B~[4CERROR REPORT OF CALIBRATION E" 12130 PRINT "~[0;0H~[17B~[4CMEASURED DATA ON SCREEN S"; 12140 PRINT "~[2B~[15DON PRINTER P" 12147 PRINT "~[1B~[4CRESTART R" 12150 INKEY Y$ 12160 IF Y$="S" OR Y$="s" THEN 13170 12165 IF Y$="P" OR Y$="p" THEN 16004 12170 IF Y$="E" OR Y$="e" THEN 12880 12180 IF Y$="R" OR Y$="r" THEN 8860 12190 GOTO 12150 12370 REM 12380 REM SUBROUTINE ANALYSIS M$/Z$ 12400 REM 12410 P=7: Z=VAL(LEFT$(Z$(CF,CR,CH),7)) 12420 M=VAL(LEFT$(M$(CF,CR,CH),7)) 12430 IF MID$(M$(Cf,Cr,Ch),P,1)="." THEN 12450 12440 Z=Z*10: M=M*10: P=P-1: GOTO 12430 12450 D=INT(M-Z+.5) 12460 IF Cf=1 THEN D=INT(M+.5) 12470 D1$=" "+STR$(D): D1$=RIGHT$(D1$,6) 12480 D$(CF,CR,CH)=LEFT$(D1$,P-1)+"."+RIGHT$(D1$,7-P)+RIGHT$(M$(CF,CR,CH),4) 12500 IF MID$(F1$,7,1)=" " THEN 12530 12510 M$(Cf,Cr,Ch)=M$(Cf,Cr,Ch)+" *" 12520 EM(CH)=EM(CH)+1 12530 Z=VAL(Z$(Cf,Cr,Ch)): IF ABS(Z)<=O(Cf,Cr) AND MID$(F0$,7,1)=" " THEN 12550 12540 Z$(Cf,Cr,Ch)=Z$(Cf,Cr,Ch)+" *" 12545 EM(CH)=EM(CH)+1 12550 D=VAL(D$(CF,CR,CH)): V=VAL(V$(CF,CR)) 12560 IF ABS((D-V)/V)4 AND NOT (Cr=1 AND Cf=1) THEN 13560 13600 PRINT : Cr=0: Cf=Cf+1: IF Cf<>4 THEN 13620 13610 CF=0: CH=CH+1 13620 IF Ch<=Qh AND Cf<=Qf THEN 13560 13630 RETURN 13640 REM 13660 REM SUBROUTINE TO "ERROR REPORT" 13680 REM 13690 PRINT : PRINT " "; 13700 Ch$="A ": IF Ch=1 THEN Ch$="B " 13710 PRINT : PRINT CH$;E0$(CF,CR,CH);" ";E1$(CF,CR,CH);" ";V$(CF,CR); 13720 IF Cr=0 THEN PRINT LEFT$(Df$(Cf),3); 13730 Cr=Cr+1: IF Cr<>4 AND NOT (Cr=1 AND Cf=1) THEN 13710 13740 Cr=0: Cf=Cf+1: IF Cf<>4 THEN 13760 13750 CF=0: CH=CH+1 13760 IF Ch<=Qh AND Cf<=Qf THEN 13690 13770 RETURN 13780 REM 13800 REM STEP BY STEP ANALYSIS 13820 REM 13830 PRINT "~[2J": CLEAR 13840 GOTO 13851 13841 MOVE 10,350: DRAW 300,350 13842 DRAW 300,165: DRAW 10,165: DRAW 10,350: DRAW 104,350: DRAW 104,165 13843 DRAW 153,165: DRAW 153,350: DRAW 202,350: DRAW 202,165: DRAW 251,165 13844 DRAW 251,350: MOVE 10,202: DRAW 300,202: DRAW 300,239: DRAW 10,239 13845 DRAW 10,276: DRAW 300,276: DRAW 300,313: DRAW 10,313 13846 MOVE 10,28: DRAW 270,28: DRAW 270,62: DRAW 10,62: DRAW 10,98: DRAW 270,98 13847 DRAW 270,62: MOVE 153,28: DRAW 153,98: MOVE 10,28: DRAW 10,62 13848 MOVE 10,-14: DRAW 270,-14: DRAW 270,20: DRAW 10,20: DRAW 10,-14 13849 MOVE 153,-14: DRAW 153,20 13850 RETURN 13851 PRINT " STEP BY STEP ANALYSIS EXIT WITH Q~[1B" 13852 PRINT 13860 PRINT " CHANNEL" 13870 PRINT 13880 PRINT " FUNCTION" 13890 PRINT 13900 PRINT " RANGE" 13910 PRINT 13920 PRINT " FILTER" 13930 PRINT 13940 PRINT " MODE" 13950 PRINT 13955 PRINT 13960 PRINT 13970 PRINT 13980 PRINT " MEASURED" 13990 PRINT 14000 PRINT " ANALOG OUTPUT" 14010 PRINT 14040 PRINT " INPUT ?" 14050 PRINT 14060 SE(0)=0: SE(1)=0: SE(2)=0: SE(3)=2: SE(4)=0: PA=0: PY=0: PV=0 14100 IF As$<>"XX" THEN IEC OUT As,"RDU3,F1" 14110 REM 14130 REM MEASURING LOOP WITHIN 14140 REM "STEP BY STEP ANALYSIS" 14150 REM 14160 SE=SE(0): U0$=RIGHT$(CW$(0,SE),1) 14170 REM PRINT "~[0;0H~[14B " 14175 PRINT "~[h"; 14210 GOSUB 15210 14250 GOSUB 15410 14260 GOSUB 13841 14270 REM TRIGGER URV5/NRV 14290 REM 14300 IEC OUT Av,"CAQ0,CAQ1,CAX1" 14310 GOSUB 15800 14320 IF V%=104 THEN 14560 14322 IEC IN AV,R$ 14324 PRINT "~[0;0H~[16B~[20C";RIGHT$(R$,11) 14330 REM TRIGGER UDS5 14350 REM 14360 IF As$="XX" THEN 14590 14365 IF Af$="N" THEN 14590 14370 IEC OUT AS,"X1" 14380 GOSUB 15900 14390 IEC IN AS,R$ 14400 PRINT "~[0;0H~[18B~[20C";MID$(R$,8,8) 14510 GOTO 14590 14560 PRINT "~[0;0H~[15B": GOSUB 14980 14565 IF Pa=1 THEN 14590 14570 PRINT "~[0;0H~[14B ": GOTO 14160 14590 GOSUB 14660 14600 IF Pf=1 THEN 14160 14610 IF Pa=1 THEN 14560 14620 GOTO 14300 14630 REM 14640 REM SUBROUTINE DATA INPUT 14650 REM 14660 INKEY A$ 14670 IF A$="" THEN RETURN 14675 IF ASC(A$)>96 AND ASC(A$)<123 THEN A$=CHR$(ASC(A$)-32) 14680 BD$=BD$+A$ 14690 IF A$=" " THEN 14660 14700 PRINT "~[0;0H~[20B~[22C";Bd$;" " 14710 BT$=BT$+A$ 14720 IF Bt$="Q" OR Bt$="q" THEN 14730 ELSE 14750 14730 IEC OUT Ac,C$(0,0,0); 14740 PRINT "~[l";: Bd$="": Bt$="": GOTO 8850 14750 FOR I=0 TO 6 14760 IF Bt$<>Pw$(I) THEN 14780 14770 GOTO 14660 14780 NEXT I 14790 PF=0 14800 FOR I=0 TO 4 14810 FOR J=0 TO 3 14820 IF Bt$<>Cw$(I,J) THEN 14840 14830 PF=1: GOTO 14860 14840 NEXT J 14850 NEXT I 14860 PRINT "~[0;0H~[20B~[21C";" " 14865 PRINT "~[0;0H~[14B~[1C ~[1A" 14870 BD$="": BT$="" 14880 IF Pf=1 THEN 14900 14890 PLAY "A1": GOTO 14660 14900 Pa=0: Py=0: Pv=0: IF I=4 THEN Py=1 14910 Se(I)=J: IF NOT (Se(1)=1 AND Se(2)>=1) THEN RETURN 14920 SE(2)=0: PLAY "A1": RETURN 14930 REM 14950 REM SUBROUTINE ADAPTER CHECK 14960 REM 14980 PV=0 14990 IF Pa=1 THEN 15070 15020 IEC TIME 30000 15025 IEC OUT Ac,C$(0,0,0); 15030 IEC OUT AV,"CAC0" 15040 PRINT "~[0;0H~[14B~[1C ADAPTER CHECK IS RUNNING ~[1A" 15050 IEC OUT AV,"CAP"+U0$+",CAF4,CA6,CARB0.1" 15070 IEC OUT Av,"CAQ0,CAQ1,CAX1" 15080 GOSUB 15800: IF V%=104 THEN 15120 15090 IF V%=80 THEN 15110 15100 GOTO 15070 15110 PA=0: RETURN 15120 IF Pa=1 THEN 15140 15125 PRINT "~[1C CONNECT ADAPTER TO CH ";U0$;" ~[1A" 15130 PLAY "A1": PA=1 15140 IEC SPL AV,V% 15142 GOSUB 14660: IF Pf=1 THEN 14160 15145 IF V%=114 THEN Pa=0: RETURN 15150 GOTO 15120 15160 REM 15180 REM SUBROUTINE STATUS URV5/NRV 15190 REM 15210 PRINT "~[0;0H~[3B" 15220 FOR I=0 TO 4 15230 FOR J=3 TO 0 STEP -1 15240 Rv$=Cw$(I,J): IF Se(I)=J THEN Rv$="<"+Cw$(I,J)+">" 15245 PRINT : IF LEN(Rv$)=5 THEN Rv$=Rv$ ELSE Rv$=Rv$+" " 15250 PRINT "~[2A~[14C";TAB(9+6*J);Rv$ 15260 NEXT J 15270 PRINT : PRINT : PRINT "~[15C"; 15280 NEXT I 15290 RETURN 15380 REM 15390 REM SUBROUTINE HARDWARE SETTING 15400 REM 15410 PF=0 15450 IF Py=1 THEN 15580 15490 S1=Se(1): S2=Se(2): IEC OUT Ac,C$(S1,S2,0); 15530 IEC OUT AV,"CAE1,CAP"+U0$+","+F$(S1)+",CARB"+V$(S1,S2) 15540 S3=SE(3): IEC OUT AV,",CA"+CW$(3,S3) 15580 PY=0 15590 IF Se(4)=2 THEN 15650 15600 S4=Se(4): IEC OUT Ac,C$(S1,S2,S4); 15610 RETURN 15650 IEC OUT Ac,"L"; 15660 RETURN 15700 REM 15710 REM SUBROUTINE LINE CILLER 15720 REM 15730 PRINT "~[0;0H~[16B~[1C " 15740 RETURN 15800 REM SUBROUTINE SRQ AV 15810 ON SRQ1 GOTO 15830 15820 GOTO 15820 15830 IEC SPL Av,V%: IF V%<64 THEN 15800 15840 RETURN 15900 REM SUBROUTINE SRQ AS 15910 ON SRQ1 GOTO 15930 15920 GOTO 15920 15930 IEC SPL As,V%: IF V%<64 THEN 15900 15940 RETURN 16000 REM 16001 REM PRINTOUT 16002 REM SEGMENT HEX("40"): POKE HEX("78"),120 16004 IEC UNL : IEC LAD AV: IEC GTL 16005 CLEAR 16006 PRINT "~[2J SUPPLEMENTARY DATA FOR PRINTOUT~[2B" 16008 PRINT " DEVICE UNDER TEST ( URV5 OR NRV) " 16020 PRINT " ";Vs$ 16025 INPUT "~[1A~[7C";Vs$: Vs$=LEFT$(Vs$,1) 16027 IF Vs$="U" OR Vs$="N" OR Vs$="u" OR Vs$="n" THEN 16028 ELSE 16025 16028 IF X$="C" OR X$="c" THEN 16060 16029 IF Vs$="u" THEN Vs$="U" 16030 IF Vs$="n" THEN Vs$="N" 16031 PRINT "~[2B DATE OF LAST CALIBRATION - " 16040 PRINT " PRESS <4>" 16050 PRINT " ";OD$ 16055 INPUT "~[1A~[7C";OD$: OD$=LEFT$(OD$,5) 16060 PRINT "~[2B DESIGNATION OF DC CALIBRATOR " 16070 PRINT " ";NC$ 16075 INPUT "~[1A~[7C";NC$: NC$=LEFT$(NC$,33) 16080 PRINT "~[2B TESTED BY (NAME/ADDRESS) " 16090 PRINT " ";NT$ 16095 INPUT "~[1A~[7C";NT$: NT$=LEFT$(NT$,33) 16100 REM PRINTER INIT 16110 OPENO# 1,"LPT1:" 16120 PRINT# 1,"~C";CHR$(0);CHR$(12); 16130 PRINT# 1,"~G"; 16150 PRINT# 1,"~0"; 16200 REM PRINTOUT 16220 IF X$="M" OR X$="m" THEN 16250 16230 XS$="CALIBRATION": XT$="NEXT " 16240 Xd$=Am$+"."+RIGHT$(STR$(VAL(Ay$)+1),2): GOTO 16270 16250 XS$="MEASUREMENT": XT$="LAST ": XD$=OD$ 16270 FOR I=0 TO 12 16280 PRINT# 1,CHR$(27);CHR$(10); 16290 NEXT 16300 PRINT# 1,CHR$(14);" ";Xs$;" REPORT";CHR$(20);CHR$(27);"H" 16310 PRINT# 1,CHR$(27);CHR$(10);TAB(61);: GOSUB 18000: PRINT# 1,"DATE"; 16320 GOSUB 18110: PRINT# 1," ";DD$ 16325 PRINT# 1,"": PRINT# 1,"" 16330 PRINT# 1,TAB(52);: GOSUB 18000: PRINT# 1,XT$;"CALIBRATION"; 16340 GOSUB 18110: PRINT# 1," ";XD$ 16350 PRINT# 1,"": PRINT# 1,"": PRINT# 1," ";: IF Vs$="U" THEN 16370 16360 PRINT# 1,"POWER METER NRV 828.2511.02";: GOTO 16380 16370 PRINT# 1,"MILLIVOLTMETER URV5 394.8010.02"; 16380 PRINT# 1,TAB(55);: GOSUB 18000: PRINT# 1," SERIAL NO.";: GOSUB 18110 16390 PRINT# 1," ";ID$ 16395 PRINT# 1,"": PRINT# 1,"" 16400 PRINT# 1," ";: GOSUB 18000: PRINT# 1,"WORKING STANDARDS" 16410 GOSUB 18110 16420 PRINT# 1,"": PRINT# 1," DC CALIBRATOR ";NC$ 16425 IF Af$="N" THEN PRINT# 1,: GOTO 16440 16430 PRINT# 1," DIGITAL MULTIMETER UDS5" 16440 PRINT# 1,"": PRINT# 1,"": PRINT# 1,"": PRINT# 1,"" 16460 CH=0: CR=0: CF=0 16470 PRINT# 1," CHANNEL FUNCTION RANGE NOMINAL/V TOLERANCE/%"; 16480 PRINT# 1," MEASURED/V": PRINT# 1,: PRINT# 1, 16490 Ch$="A": IF Ch=1 THEN Ch$="B" 16500 IF Cr=0 THEN 16520 16510 PRINT# 1,TAB(31);: GOTO 16530 16520 PRINT# 1," ";CH$;" ";DF$(CF);" "; 16530 PRINT# 1,CR+1;" ";V$(CF,CR);" ";E$(CF,CR); 16532 IF RIGHT$(D$(Cf,Cr,Ch),1)="*" THEN 16537 16535 PRINT# 1,TAB(76-LEN(D$(CF,CR,CH)));D$(CF,CR,CH): GOTO 16542 16537 PRINT# 1,TAB(78-LEN(D$(Cf,Cr,Ch)));D$(Cf,Cr,Ch) 16542 Cr=Cr+1: IF Cr<>4 AND NOT (Cr=1 AND Cf=1) THEN 16490 16550 PRINT# 1,"": Cr=0: Cf=Cf+1: IF Cf<>4 THEN 16490 16560 Cf=0: Ch=Ch+1: IF Ch<2 THEN 16490 16570 PRINT# 1,: PRINT# 1, 16580 IF Af$="N" THEN 16650 16590 PRINT# 1,TAB(11);"ANALOG OUTPUT";TAB(40);"NOMINAL/V TOLERANCE/V"; 16600 PRINT# 1," MEASURED/V": PRINT# 1,: PRINT# 1, 16610 FOR I=0 TO 13 16620 HOLD 1000 16630 PRINT# 1,TAB(40);Dv$(I);" 0.00";RIGHT$(Ea$,2);" ";Ao$(I) 16640 NEXT I 16650 PRINT# 1,: PRINT# 1,: PRINT# 1,: PRINT# 1,TAB(8);: GOSUB 18000 16660 PRINT# 1,"TESTED BY";TAB(69);"SIGNATURE": GOSUB 18110 16670 PRINT# 1,: PRINT# 1,TAB(8);NT$ 16700 PRINT# 1,CHR$(12) 16705 PRINT# 1,"~2"; 16707 PRINT# 1,"~C";CHR$(0);CHR$(10); 16710 CLOSE# 1 16720 GOTO 12046 16730 REM 16740 REM SUBROUTINE CONDENSED PRINT ON 16750 REM 18000 PRINT# 1,CHR$(15); 18020 RETURN 18030 REM 18040 REM SUBROUTINE CONDENSED PRINT OFF 18050 REM 18110 PRINT# 1,CHR$(18); 18120 RETURN 19000 REM POINTER TO LINE 13 19010 PRINT "~[0;0H~[13B"; 19020 RETURN 19100 REM DUAL LINE CILLER 19110 GOSUB 15730 19120 PRINT "~[1B~[1C " 19130 RETURN 19200 REM RESTAURATION OF SCREEN 19210 GOSUB 19000: PRINT "~[1B~[1C ";HD$;" IS RUNNING ~[1B" 19215 GOSUB 15730 19220 RETURN 20000 STOP