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 IECTIME 2000:IECTERM 0: 120 PRINT "@[y@[b" 130 ON ERROR GOTO 150 140 16:IF (0) <> 0 THEN 15:IF (0) <> 0 THEN 8 150 ON ERROR RETURN 160 100,100: 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 IECLAD Av:IECSDC :IECOUT Av,"CALIBRATION,CAQ0,CAN0" 8280 IECIN 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 IECOUT 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 IECLAD AS:IECSDC 8530 IF St <> 0 THEN 8430 8540 IECIN As,A$:IF RIGHT$(A$,13) <> "NOT TRIGGERED" THEN 8430 8542 IECOUT 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 IECLAD Av:IECSDC :IECOUT 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 GET 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: 0,1,0: X3,6: 145,14: 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: 40,5 9275 40,40: 252,40: 252,5: 40,5 9277 40,15: 252,15: 146,5: 146,40: 41,15 9280 IECOUT AV,"CAP" + U0$ + ",CAF2" 9300 IECOUT Ac,C$(Cf,Cr,0); 9310 IECOUT 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: X3,6: X2,15 9330 X2 = X2 + 1: X3,6: 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 IECOUT 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 IECIN 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 IECOUT AV,"CAC1," + "CARB" + V$(CF,CR):GOTO 9720 9544 REM 9545 REM CALIBRATION 9546 REM 9550 IECOUT Ac,C$(Cf,Cr,1); 9560 IECOUT 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 IECIN AV,F$:F$ = MID$(F$,9,4) 9680 EC(CH) = EC(CH) + VAL(F$) 9690 E1$(CF,CR,CH) = " " + F$ + " " 9700 IECOUT AV,"CAC1," + "CARB" + V$(CF,CR) 9709 REM 9710 REM MEASUREMENT 9711 REM 9720 X2 = X2 + 1: X3,6: X2,15 9730 X2 = X2 + 1: X3,6: X2,15 9740 IECOUT Ac,C$(Cf,Cr,1); 9750 IECOUT Av,"CAQ0,CAQ1,CAX1" 9760 GOSUB 15800:GET G$:IF G$ = "Q" OR G$ = "q" THEN IECIN 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 IECIN 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:IECOUT Ac,C$(Cf,Cr,0);:HOLD 1000:GOTO 9320 9858 X2 = X2 + 1: X3,6: X2,15 9860 REM 9861 REM OFFSET MEASUREMENT 9862 REM 9868 IECOUT Ac,C$(Cf,Cr,0); 9870 X2 = X2 + 1: X3,6: X2,15 9880 IECOUT 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 IECIN AV,F0$:Z$(CF,CR,CH) = RIGHT$(F0$,11) 9980 GOSUB 12410 9990 X2 = X2 + 1: X3,6: X2,15 10000 X2 = X2 + 1: X3,6: 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 0,1,0: X3,6: 251,13: 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 118,-5: 195,-5: 195,17: 118,17: 118,-5 10350 IECOUT AV,"CAE1,CA2L" 10360 IECOUT AS,"RDU3,F0" 10370 PRINT "@[0;0H@[16B@[1C ADJUST R5 - CONTINUE WITH Q" 10380 PRINT :PRINT :PRINT "@[h":PLAY "A1" 10390 IECOUT AS,"X1" 10392 GOSUB 15900:GET G$:IF G$ = "Q" OR G$ = "q" THEN 10470 10394 IF V% <> 80 THEN 10390 10400 IECIN 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 IECOUT AV,"CAE1,CA2H" 10480 IECOUT 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 IECOUT AS,"X1" 10522 GOSUB 15900:GET G$:IF G$ = "Q" OR G$ = "q" THEN PRINT "@[l":GOTO 10645 10524 IF V% <> 80 THEN 10520 10530 IECIN 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 IECOUT AV,"CAE1,CA2L" 10720 IECOUT AS,"RDU3,F0" 10730 IECOUT AS,"X1" 10731 GOSUB 15900:GET G$:IF G$ = "Q" OR G$ = "q" THEN 10760 10732 IECIN 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) < Ea THEN 10790 10770 Ao$(12) = Ao$(12) + " *" 10780 EM(0) = EM(0) + 1 10790 IECOUT AV,"CAE1,CA2H" 10800 IECOUT AS,"X1" 10801 GOSUB 15900 10810 IECIN AS,A$ 10820 AO$(13) = MID$(A$,9,7) 10830 IF ABS(VAL(Ao$(13)) - 2.0470) < Ea THEN 10860 10840 Ao$(13) = Ao$(13) + " *" 10850 EM(0) = EM(0) + 1 10860 IECOUT Av,"CALEND,Q0" 10870 FOR I = 0 TO 11 10880 IECOUT AV,"DB" + STR$(100 * VAL(DV$(I))) + ",Z0" 10890 IECOUT AS,"X1" 10891 GOSUB 15900 10900 IECIN AS,A$ 10910 AO$(I) = MID$(A$,9,7) 10920 IF ABS(VAL(Ao$(I)) - VAL(Dv$(I))) < Ea THEN 10950 10930 Ao$(I) = Ao$(I) + " *" 10940 EM(0) = EM(0) + 1 10950 NEXT I 10960 IECOUT Av,"Q1":GOTO 12040 11000 REM 11010 REM ADJUSTMENT OF CAL ADAPTER 11020 REM 11022 IF As$ <> "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 IECOUT Ac,C$(0,0,0); 11070 REM SETTING UDS5 11080 IECOUT AS,"RR5" 11090 REM SETTING URV5 11100 IECOUT AV,"CAPA,CAN1,CAE1,CAF4,CA6,CARB10" 11105 FL = 0 11110 IECOUT Av,"CAQ0,CAQ1,CAX1" 11120 GOSUB 15800:GET 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 IECIN 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 IECOUT AV,"CAE1" 11220 IECOUT AV,"CAC1,CAX1" 11230 IECSPL 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 120,-5: 195,-5: 195,17: 120,17: 120,-5 11360 IECOUT AS,"RR5,F0" 11370 PRINT "@[0;0H@[14B@[1C ADJUST ADAPTER - CONTINUE WITH Q" 11380 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT "@[h"; 11390 IECOUT AS,"X1" 11392 GOSUB 15900:GET G$:IF G$ = "Q" OR G$ = "q" THEN PRINT "@[l";:GOTO 8850 11394 IF V% <> 80 THEN 11392 11400 IECIN 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 GET 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) < E(Cf,Cr) THEN 12590 12570 D$(Cf,Cr,Ch) = D$(Cf,Cr,Ch) + " *" 12580 EM(CH) = EM(CH) + 1 12590 RETURN 12680 REM 12690 REM SUBROUTINE ASTERIX 12710 REM 12720 PRINT "@[2J"; 12730 PRINT "***************************************" 12740 FOR I = 1 TO 22 12750 PRINT "* *" 12760 NEXT I 12770 PRINT "***************************************"; 12780 PRINT "@[0;0H@[2B" 12790 PRINT "@[8CCALIBRATION PROGRAM V1.1" 12800 PRINT "@[1B@[14CURV5/NRV" 12810 PRINT "@[3B@[4CSERIAL NO.:@[8C";ID$ 12815 30,240: 280,240 12820 PRINT "@[1A@[23C"; 12830 RETURN 12840 REM 12855 REM ERROR REPORT 12870 REM 12880 PRINT "@[2J": 12890 PRINT " ERROR REPORT SERIAL";ID$:PRINT 12900 PRINT " DATE ";DD$:PRINT 12910 PRINT " OFFSET CAL CAL " 12912 PRINT " ERROR ERROR VOLTAGE" 12920 Cf = 0:Cr = 0:Ch = 0:Qf = 2:Qh = 0:GOSUB 13690 12925 PRINT :PRINT :PRINT 12930 PRINT " NEXT PAGE E FURTHER REPORTS R" 12940 GET Y$ 12950 IF Y$ = "R" OR Y$ = "r" THEN 12050 12960 IF Y$ = "E" OR Y$ = "e" THEN 12970 12965 GOTO 12940 12970 Cf = 3:Cr = 0:Ch = 0:Qf = 2:Qh = 1:GOSUB 13690 12985 PRINT :PRINT :PRINT 12990 PRINT " NEXT PAGE E FURTHER REPORTS R" 12992 GET Y$ 12994 IF Y$ = "R" OR Y$ = "r" THEN 12050 12996 IF Y$ = "E" OR Y$ = "e" THEN 13000 12998 GOTO 12992 13000 Cf = 3:Cr = 0:Ch = 1:Qf = 3:Qh = 1:GOSUB 13690 13001 FOR I = 1 TO 3:PRINT :NEXT 13002 PRINT " FURTHER REPORTS E" 13008 GET Y$:IF Y$ = "E" OR Y$ = "e" THEN 13010 13009 GOTO 13008 13010 GOTO 12050 13110 REM 13130 REM MEASURED DATA ON SCREEN 13160 REM 13170 PRINT "@[2J": 13180 PRINT " MEASURED DATA SERIAL ";ID$:PRINT 13190 PRINT " DATE ";DD$:PRINT 13200 PRINT " OFFSET CAL VOLTAGE CAL VOLTAGE@[1B@[8D-OFFSET" 13210 Cf = 0:Cr = 0:Ch = 0:Qf = 2:Qh = 0:GOSUB 13560 13215 PRINT :PRINT :PRINT :PRINT 13220 PRINT " NEXT PAGE S FURTHER REPORTS R" 13230 GET Y$ 13240 IF Y$ = "S" OR Y$ = "s" THEN 13260 13250 IF Y$ = "R" OR Y$ = "r" THEN 12050 13255 GOTO 13230 13260 Cf = 3:Cr = 0:Ch = 0:Qf = 2:Qh = 1:GOSUB 13560 13265 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT 13270 PRINT " NEXT PAGE S FURTHER REPORTS R" 13280 GET Y$ 13290 IF Y$ = "S" OR Y$ = "s" THEN 13310 13300 IF Y$ = "R" OR Y$ = "r" THEN 12050 13305 GOTO 13280 13310 Cf = 3:Cr = 0:Ch = 1:Qf = 3:Qh = 1:GOSUB 13560 13320 IF Af$ = "Y" OR Af$ = "y" THEN 13340 13330 PRINT "@[12B":GOTO 13390 13340 PRINT :PRINT "@[12C ANALOG OUTPUT" 13350 PRINT :PRINT " SETTING MEASURED SETTING MEASURED" 13355 PRINT 13360 FOR I = 0 TO 6 13370 PRINT DV$(I);" ";AO$(I);" ";DV$(I + 7);" ";AO$(I + 7) 13380 NEXT I 13385 PRINT :PRINT 13390 PRINT :PRINT " FURTHER REPORTS S" 13400 GET Y$ 13420 IF Y$ = "S" OR Y$ = "s" THEN 12050 13425 GOTO 13400 13510 REM 13530 REM SUBROUTINE TO 13540 REM "MEASURED DATA ON SCREEN" 13550 REM 13560 Ch$ = "A":IF Ch = 1 THEN Ch$ = "B" 13570 PRINT :PRINT CH$;Z$(CF,CR,CH);" ";M$(CF,CR,CH);" ";D$(CF,CR,CH); 13580 IF Cr = 0 THEN PRINT LEFT$(Df$(Cf),3); 13590 Cr = Cr + 1:IF Cr <> 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": 13840 GOTO 13851 13841 10,350: 300,350 13842 300,165: 10,165: 10,350: 104,350: 104,165 13843 153,165: 153,350: 202,350: 202,165: 251,165 13844 251,350: 10,202: 300,202: 300,239: 10,239 13845 10,276: 300,276: 300,313: 10,313 13846 10,28: 270,28: 270,62: 10,62: 10,98: 270,98 13847 270,62: 153,28: 153,98: 10,28: 10,62 13848 10,-14: 270,-14: 270,20: 10,20: 10,-14 13849 153,-14: 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 IECOUT 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 IECOUT Av,"CAQ0,CAQ1,CAX1" 14310 GOSUB 15800 14320 IF V% = 104 THEN 14560 14322 IECIN 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 IECOUT AS,"X1" 14380 GOSUB 15900 14390 IECIN 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 GET 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 IECOUT 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 IECTIME 30000 15025 IECOUT Ac,C$(0,0,0); 15030 IECOUT AV,"CAC0" 15040 PRINT "@[0;0H@[14B@[1C ADAPTER CHECK IS RUNNING @[1A" 15050 IECOUT AV,"CAP" + U0$ + ",CAF4,CA6,CARB0.1" 15070 IECOUT 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 IECSPL 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):IECOUT Ac,C$(S1,S2,0); 15530 IECOUT AV,"CAE1,CAP" + U0$ + "," + F$(S1) + ",CARB" + V$(S1,S2) 15540 S3 = SE(3):IECOUT AV,",CA" + CW$(3,S3) 15580 PY = 0 15590 IF Se(4) = 2 THEN 15650 15600 S4 = Se(4):IECOUT Ac,C$(S1,S2,S4); 15610 RETURN 15650 IECOUT 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 SRQ GOTO 15830 15820 GOTO 15820 15830 IECSPL Av,V%:IF V% < 64 THEN 15800 15840 RETURN 15900 REM SUBROUTINE SRQ AS 15910 ON SRQ GOTO 15930 15920 GOTO 15920 15930 IECSPL As,V%:IF V% < 64 THEN 15900 15940 RETURN 16000 REM 16001 REM PRINTOUT 16002 REM SEGMENT HEX("40"): POKE HEX("78"),120 16004 :IECLAD AV: 16005 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 OPEN 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 END