Solar Tracker Program

125 views
Skip to first unread message

Duane C. Johnson

unread,
Apr 30, 1997, 3:00:00 AM4/30/97
to solar-con...@cichlid.com

10 CLS : COLOR 14 : DAT$ = "970430" : REV$ = "G4"
20 PRINT " The origional program was written by David Wells."
30 PRINT " His program was designed for a computer that had"
40 PRINT " degree based math routines. I converted this program"
50 PRINT " for use with MicroSoft's GW Basic. GW Basic has"
60 PRINT " radian based math routines."
70 PRINT
80 PRINT " I deleted the portions of the program that were specific"
90 PRINT " to the origional application. I left the core calculation"
100 PRINT " routines. I appologize if I have erred in this conversion."
110 PRINT " Feel free to modify this program in any way you like."
120 PRINT " Duane C. Johnson, Red Rock Energy"
130 PRINT " http://www.geocities.com/SiliconValley/3027/"
140 PRINT " red...@pclink.com"
150 PRINT
160 PRINT " Azimuth angles start at 0 deg = North with 90 deg = East"
170 PRINT " 180 deg = South 270 deg = West and back to 360 deg = North."
180 PRINT " Altitude is 90 deg = Up with 0 deg = Horizotal and -90 = Down."
190 PRINT
200 PRINT " Note! This program may modify the contents of your computers clock."
210 PRINT " This program is a starting point for a more complete computer"
220 PRINT " software system that includes the motor drive mechanisms."
230 PRINT
240 PRINT " Date "; DAT$; " Revision "; REV$
250 DIM MDAYS%( 12 )
260 REM SPECIAL CONSTANTS
270 RCONV = 1.745329E-02 : REM USED TO CONVERT FROM DEGREES TO RADIANS
280 DCONV = 57.29579 : REM USED TO CONVERT FROM RADIANS TO DEGREES
290 PI2 = 6.283186 : REM PI * 2
300 PI = 3.141592 : REM PI
310 HPI = 1.570796 : REM PI / 2
320 HPIN = -1.570796 : REM PI / 2 NEGATIVE
330 LAT = 45.49275 : REM LOCAL LATITUDE + = NORTH - = SOUTH
340 LONGIT = -92.86042 : REM LOCAL LONGITUDE + = EAST - = WEST
350 ZONE% = 6 : REM LOCAL TIME ZONE CORRECTION
360 DSAV% = 1 : REM DAY LIGHT SAVINGS CORRECTION 0 OR 1
370 EQUINOX% = 80 : REM DAYS FROM NEW YEAR TO SPRING EQUINOX
380 PRESSURE = 29.88 : REM ATMOSPHERIC PRESSURE IN INCHES
390 TEMP = 71.1 : REM ATMOSPHERIC TEMPERATURE IN DEGREES F
400 DELY = 0! : REM TIME DELAY CAUSED BY CALCULATION
410 SLOW = 0 : REM SLOW DOWN THE CALCULATION LOOP
420 INTRO = 100000! : REM LENGTH THE INTRDUCTION IS DISPLAYES
430 MODE% = 1 : REM 1 = POINT TO THE SUN, 2 = HELIOSTAT MODE
440 R% = 1 : REM 1 = USE REFRACTIVE CORRECTION 0 = DON'T
450 C% = 0 : REM 1 = STOP THE CLOCK 0 = RUN THE CLOCK
460 TI$ = "12:00:00" : DA$ = "03/21/1997"
470 REM SETUP FOR EXTERNAL EDITOR
480 EDT% = 0 : REM 1 = USE AN EXTERNAL EDITOR 0 = DON'T
490 EDT1$ = "MIRFAKE @82"
500 EDT2$ = "MIRQEDIT TRACKG4.BAS"
510 EDT3$ = "TRACKG4.BAS"
520 REM XYZ POSITION OF THE RECEIVER
530 REM X = EAST/west Y = UP/down Z = SOUTH/north
540 TX = 0 : TY = 0 : TZ = 1
550 REM FIND THE APPROXAMATE ECLIPTIC OBLIQUITY FROM THE 1950 & 2000 VALUES
560 REM 23.44 IS A GOOD COMPROMISE
570 OB1950 = 23.44579 : OB2000 = 23.43929
580 YEAR% = VAL( RIGHT$( DATE$, 4 ) )
590 OBLIQ = ( OB2000 - OB1950 ) * ( YEAR% - 1950 ) / ( 2000 - 1950 ) + OB1950
600 REM OBLIQ = 23.44
610 OBLIQR = OBLIQ * RCONV
620 REM READ IN DAYS OF MONTH
630 DATA 0,31,28,31,30,31,30,31,31,30,31,30,31
640 DAYSPYEAR% = 0
650 FOR I% = 0 TO 12 STEP 1
660 READ MDAYS%( I% ) : DAYSPYEAR% = DAYSPYEAR% + MDAYS%( I% )
670 NEXT I%
680 LATR = LAT * RCONV : REM LAT IN RADIANS
690 LONGITR = LONGIT * RCONV : REM LONG IN RADIANS
700 REM DISPLAY FOR INTRO TIME
710 FOR T = 0 TO INTRO : NEXT T
720 CLS
730 GOSUB 2370 : REM DISPLAY THE MENU
740 REM BEGIN ALTITUDE,AZIMUTH CALCULATION LOOP
750 REM SLOW DOWN THE SYSTEM
760 FOR T = 0 TO SLOW STEP 1 : NEXT T
770 IF C% = 0 THEN DA$ = DATE$ : TI$ = TIME$
780 YEAR$ = MID$( DA$, 7, 4 ) : YEAR% = VAL( YEAR$ )
790 MONTH$ = MID$( DA$, 1, 2 ) : MONTH% = VAL( MONTH$ )
800 DAY$ = MID$( DA$, 4, 2 ) : DAY% = VAL( DAY$ )
810 HOUR$ = MID$( TI$, 1, 2 ) : HOUR% = VAL( HOUR$ )
820 MINIT$ = MID$( TI$, 4, 2 ) : MINIT% = VAL( MINIT$ )
830 SEC$ = MID$( TI$, 7, 2 ) : SEC% = VAL( SEC$ )
840 REM DISPLAY THE CLOCK RUNNING SYMBAL
850 LOCATE 1,38 : COLOR 12
860 IF C% = 1 THEN PRINT "STOP"; : GOTO 880
870 IF CRUN% = 0 THEN PRINT "RUN "; : ELSE PRINT " ";
880 REM DISPLAY RUNNING TOGGLE
890 IF CRUN% < 1 THEN CRUN% = 1 ELSE CRUN% = 0
900 REM READ IN DAYS OF EACH MONTH
910 REM GET DAY OF YEAR
920 DCOUNT% = 0 : CUMDAY% = 0
930 REM ADD UP THE NUMBER OF DAYS IN THE PREVIOUS MONTHS
940 FOR I% = 0 TO MONTH% - 1 STEP 1
950 CUMDAY% = CUMDAY% + MDAYS%( I% )
960 NEXT I%
970 REM ADD THE NUMBER OF DAYS ELAPSED IN THIS MONTH
980 DCOUNT% = CUMDAY% + DAY%
990 REM CORRECT THE DAY COUNT TO DAYS FROM THE SPRING EQUINOX
1000 REM 01/01 = 287 DAYS
1010 REM 03/20 = 365 DAYS
1020 REM 03/21 = 0 DAYS
1030 REM 12/31 = 285 DAYS
1040 REM WHAT HAPPENED TO DAY 286 I SUPPOSE IT WORKS ON LEAP YEAR
1050 REM FIXUP THE DAY COUNT TO BE BETWEEN 0 AND 365
1060 IF DCOUNT% < EQUINOX% THEN DCOUNT% = DCOUNT% + 286 : GOTO 1090
1070 REM ELSE SUBTRACT NUMBER OF DAYS FROM NEW YEAR TO SPRING EQUINOX
1080 DCOUNT% = DCOUNT% - EQUINOX%
1090 REM GET DECLINATION
1100 REM FIRST GET CORRECTION FACTOR
1110 IF DCOUNT% < 93 THEN CORR = 0! : GOTO 1150
1120 IF DCOUNT% < 186 THEN CORR = .05 : GOTO 1150
1130 IF DCOUNT% < 276 THEN CORR = .075 : GOTO 1150
1140 CORR = .02 : GOTO 1150
1150 XRAD = DCOUNT% * PI2 / DAYSPYEAR% - CORR
1160 XDEG = XRAD * DCONV : REM CONVERT TO DEGREES
1170 DECLIN = OBLIQ * SIN( XRAD ) : REM DECLINATION
1180 DECLINR = DECLIN * RCONV : REM DECLINATION IN RADIANS
1190 REM GET GHA
1200 REM CALCULATE THE GREENWICH HOUR FROM LOCAL HOURS
1210 GMTHRS = HOUR% + ZONE% - DSAV%
1220 REM CONVERT TO HOUR ANGLE
1230 ANGLE = 15 * ( GMTHRS + MINIT% / 60 + ( SEC% + DELY ) / 3600 ) : REM IN
DEGREES & CALCULATION DELAY
1240 REM RANGE TO + AND - 180 DEGREES
1250 IF GMTHRS < 12 THEN GHA = ANGLE + 180 ELSE GHA = ANGLE - 180
1260 GHAR = GHA * RCONV : REM GHR IN RADIANS
1270 REM GET MERIDIAN ANGLE
1280 IF GHA < 180 - LONGIT THEN MA = - LONGIT - GHA ELSE MA = 360 - LONGIT - GHA
1290 MAR = MA * RCONV : REM MA IN RADIANS
1300 REM GET ALTITUDE AND AZIMUTH
1310 REM CALCULATE THE SUNS XYZ LENGTHS
1320 SX = COS( DECLINR ) * SIN( MAR )
1330 SY = COS( LATR ) * COS( DECLINR ) * COS( MAR ) + SIN( LATR ) * SIN( DECLINR
)
1340 SZ = SIN( LATR ) * COS( DECLINR ) * COS( MAR ) - COS( LATR ) * SIN( DECLINR
)
1350 SR = SQR( SX * SX + SY * SY + SZ * SZ )
1360 SH = SQR( SX * SX + SZ * SZ ) : REM NEW HORIZONTAL LENGTH
1370 REM DETERMINE THE SUNS ALTITUDE
1380 IF SY >= 1 THEN ALTR = HPI : GOTO 1410
1390 IF SY <= -1 THEN ALTR = HPIN : GOTO 1410
1400 ALTR = ATN( SY / SQR( 1 - SY * SY ) ) : REM ALT IN RADIANS ASIN( SY )
1410 ALT = ALTR * DCONV : REM ALT IN DEGREES
1420 REM CORRECT FOR ATMOSPHERIC REFTACTION
1430 IF R% = 0 THEN REF = 0 : GOTO 1590
1440 IF ALT > 90 THEN REF = 0 : GOTO 1590
1450 IF ALT < -90 THEN REF = 0 : GOTO 1590
1460 REFA = ( ( .00002 * ALT + .0196 ) * ALT + .1594 ) * 33.8639 * PRESSURE
1470 REFB = ( ( .0845 * ALT + .505 ) * ALT + 1 ) * ( .5555556 * TEMP +
255.2222 )
1480 REF = REFA / REFB
1490 ALT = ALT + REF
1500 ALTR = ALT * RCONV
1510 REM NORMALIZE THE SOLAR LENGTHS
1520 IF ALTR >= HPI THEN SX = 0 : SY = 1 : SZ = 0 : GOTO 1590
1530 IF ALTR <= HPIN THEN SX = 0 : SY = -1 : SZ = 0 : GOTO 1590
1540 SY = SIN( ALTR )
1550 SHN = SQR( 1 - SY * SY ) : REM NEW HORIZONTAL LENGTH
1560 IF SH = 0 THEN GOTO 1590
1570 SX = SHN / SH * SX : REM ADJUST THE EW LENGTH
1580 SZ = SHN / SH * SZ : REM ADJUST THE NS LENGTH
1590 REM CALCULATE SUNS AZIMUTH
1600 IF MA > 0 AND SZ > 0 THEN AZR = HPI + ATN( SZ / SX ) : GOTO 1670
1610 IF MA > 0 AND SZ = 0 THEN AZR = HPI : GOTO 1670
1620 IF MA > 0 AND SZ < 0 THEN AZR = HPI + ATN( SZ / SX ) : GOTO 1670
1630 IF MA = 0 THEN AZR = PI : GOTO 1670
1640 IF MA < 0 AND SZ > 0 THEN AZR = PI - ATN( SX / SZ ) : GOTO 1670
1650 IF MA < 0 AND SZ = 0 THEN AZR = PI2 - HPI : GOTO 1670
1660 IF MA < 0 AND SZ < 0 THEN AZR = PI2 - ATN( SX / SZ ) : GOTO 1670
1670 AZ = AZR * DCONV : REM AZ IN DEGREES
1680 REM NORMALIZE THE RECEIVER XYZ LENGTHS
1690 CR = SQR( TX * TX + TY * TY + TZ * TZ )
1700 IF CR = 0 THEN CX = 0 : CY = 0 : CZ = 0 : GOTO 1740 : REM TEST FOR /0
1710 CX = TX / CR
1720 CY = TY / CR
1730 CZ = TZ / CR
1740 REM FIND XYZ LENGTHS OF THE BISECTOR FOR HELIOSTAT OPERATION
1750 HX = CX + SX
1760 HY = CY + SY
1770 HZ = CZ + SZ
1780 REM NORMALIZE XYZ LENGTHS OF THE BISECTOR FOR HELIOSTAT OPERATION
1790 HL = SQR( HX * HX + HY * HY + HZ * HZ )
1800 IF HL = 0 THEN HX = 0 : HY = 0 : HZ = 0 : GOTO 1840 : REM TEST FOR /0
1810 HX = HX / HL
1820 HY = HY / HL
1830 HZ = HZ / HL
1840 REM CALCULATE THE BISECTOR ANGLES
1850 IF HZ > 0 AND HX >= 0 THEN BAZR = PI - ATN( HX / HZ ) : GOTO 1910
1860 IF HZ > 0 AND HX < 0 THEN BAZR = PI - ATN( HX / HZ ) : GOTO 1910
1870 IF HZ = 0 AND HX >= 0 THEN BAZR = HPI : GOTO 1910
1880 IF HZ = 0 AND HX < 0 THEN BAZR = HPIN : GOTO 1910
1890 IF HZ < 0 AND HX >= 0 THEN BAZR = - ATN( HX / HZ ) : GOTO 1910
1900 IF HZ < 0 AND HX < 0 THEN BAZR = PI2 - ATN( HX / HZ ) : GOTO 1910
1910 BAZ = BAZR * DCONV
1920 IF HY >= 1 THEN BALTR = HPI : BALT = 90 : GOTO 1950
1930 IF HY <= -1 THEN BALTR = HPIN : BALT = -90 : GOTO 1950
1940 BALTR = ATN( HY / SQR( 1 - HY * HY ) ) : BALT = BALTR * DCONV : REM ASIN( HY )
1950 REM CALCULATE THE RECEIVER ANGLES
1960 IF HZ > 0 AND HX >= 0 THEN RAZR = PI - ATN( CX / CZ ) : GOTO 2020
1970 IF HZ > 0 AND HX < 0 THEN RAZR = PI - ATN( CX / CZ ) : GOTO 2020
1980 IF HZ = 0 AND HX >= 0 THEN RAZR = HPI : GOTO 2020
1990 IF HZ = 0 AND HX < 0 THEN RAZR = HPIN : GOTO 2020
2000 IF HZ < 0 AND HX >= 0 THEN RAZR = - ATN( CX / CZ ) : GOTO 2020
2010 IF HZ < 0 AND HX < 0 THEN RAZR = PI2 - ATN( CX / CZ ) : GOTO 2020
2020 RAZ = RAZR * DCONV
2030 IF CY >= 1 THEN RALTR = HPI : RALT = 90 : GOTO 2060
2040 IF CY <= -1 THEN RALTR = HPIN : RALT = -90 : GOTO 2060
2050 RALTR = ATN( CY / SQR( 1 - CY * CY ) ) : RALT = RALTR * DCONV : REM ASIN( HY )
2060 COLOR 14
2070 LOCATE 3, 1 : PRINT USING"####.##### "; AZ; ALT; BAZ; BALT; RAZ;
RALT;
2080 REM PRINT RESULTS
2090 LOCATE 5, 1 : PRINT USING"####"; YEAR%; MONTH%; DAY%; DCOUNT%; HOUR%; MINIT%;
SEC%;
2100 IF MODE% = 1 THEN PRINT " POINT"; : ELSE PRINT " HELIO";
2110 LOCATE 5, 35 : PRINT USING"#### "; ZONE%; DSAV%;
2120 LOCATE 5, 45 : PRINT USING"####.#"; TX; TY; TZ;
2130 IF R% = 0 THEN PRINT " no"; : ELSE PRINT " reFract";
2140 LOCATE 7, 1 : PRINT USING"####.##### "; LAT; LONGIT; DECLIN; GHA; MA;
REF;
2150 LOCATE 9, 1 : IF MODE% = 1 THEN PRINT USING"####.##### "; AZ; ALT; : ELSE
PRINT USING"####.##### "; BAZ; BALT;
2160 REM PROCESS KEY STROKES
2170 Q$ = INKEY$ : IF Q$ = "" THEN GOTO 740
2180 GOSUB 2370
2190 IF Q$ = "Q" OR Q$ = "q" THEN LOCATE 24,1:PRINT "RUN"; CHR$( 34 ) ; EDT3$ ;
CHR$( 34 ) ; : LOCATE 22, 1 : STOP
2200 IF Q$ = "T" OR Q$ = "t" THEN GOSUB 2610
2210 IF Q$ = "D" OR Q$ = "d" THEN GOSUB 2720
2220 IF Q$ = "M" OR Q$ = "m" THEN GOSUB 2720
2230 IF Q$ = "O" OR Q$ = "o" THEN GOSUB 2790
2240 IF Q$ = "C" OR Q$ = "c" THEN GOSUB 2820
2250 IF Q$ = "V" OR Q$ = "v" THEN GOSUB 2850
2260 IF Q$ = "L" OR Q$ = "l" THEN GOSUB 2880
2270 IF Q$ = "F" OR Q$ = "f" THEN GOSUB 2950
2280 IF Q$ = "H" OR Q$ = "h" THEN GOSUB 2980
2290 IF Q$ = "P" OR Q$ = "p" THEN GOSUB 2980
2300 IF Q$ = "R" OR Q$ = "r" THEN GOSUB 3010
2310 IF Q$ = "X" OR Q$ = "x" THEN GOSUB 3010
2320 IF Q$ = "Y" OR Q$ = "y" THEN GOSUB 3010
2330 IF Q$ = "Z" OR Q$ = "z" THEN GOSUB 3010
2340 IF EDT% = 1 THEN IF Q$ = "E" OR Q$ = "e" THEN GOSUB 3100
2350 CLS : GOSUB 2370 : GOTO 740
2360 REM DISPLAY MENU
2370 LOCATE 1, 1 : COLOR 10 : PRINT "Solar Tracker Calculation Program";
2380 LOCATE 1, 45 : COLOR 11 : PRINT "Date";
2390 LOCATE 1, 50 : COLOR 14 : PRINT DAT$;
2400 LOCATE 1, 60 : COLOR 11 : PRINT "Revision";
2410 LOCATE 1, 69 : COLOR 14 : PRINT REV$;
2420 LOCATE 2, 3 : COLOR 11 : PRINT "solar az solar alt bisect az bisect alt
Receiv az Receiv alt";
2430 LOCATE 4, 1 : COLOR 11 : PRINT "yearmnth Day cnthour min sec mode tzOn daysaV
Xeast Y up Zsouth reFcor";
2440 LOCATE 6, 3 : COLOR 11 : PRINT "Latitude Longitude declination hour ang
merid ang reFraction";
2450 LOCATE 8, 4 : COLOR 11 : PRINT "azimuth altitude";
2460 LOCATE 10, 4 : COLOR 13 : PRINT "T"; : COLOR 11 : PRINT " set the Time";
2470 LOCATE 10, 37 : COLOR 13 : PRINT "L"; : COLOR 11 : PRINT " set Latitude and
Longitude";
2480 LOCATE 11, 4 : COLOR 13 : PRINT "D"; : COLOR 11 : PRINT " set the Date";
2490 LOCATE 11, 37 : COLOR 13 : PRINT "F"; : COLOR 11 : PRINT " toggle reFraction
correction";
2500 LOCATE 12, 4 : COLOR 13 : PRINT "O"; : COLOR 11 : PRINT " set the time zOne";
2510 LOCATE 12, 37 : COLOR 13 : PRINT "H"; : COLOR 11 : PRINT " toggle Heliostat or
Point mode";
2520 LOCATE 13, 4 : COLOR 13 : PRINT "C"; : COLOR 11 : PRINT " toggle the time Clock";
2530 LOCATE 13, 37 : COLOR 13 : PRINT "R"; : COLOR 11 : PRINT " change Heliostat
Receiver vector";
2540 LOCATE 14, 4 : COLOR 13 : PRINT "V"; : COLOR 11 : PRINT " toggle day light
saVings";
2550 LOCATE 14, 37 : COLOR 13 : PRINT "Q"; : COLOR 11 : PRINT " Quit";
2560 IF EDT% = 1 THEN LOCATE 15, 4 : COLOR 13 : PRINT "E"; : COLOR 11 : PRINT "
Editer";
2570 LOCATE 16, 1 : COLOR 14
2580 RETURN
2590 REM SUBROUTINES
2600 REM SET THE TIME
2610 COLOR 14
2620 INPUT "enter hours ( 0 - 24 ) hh "; Q1$ : IF Q1$ <> "" THEN HOUR$ = RIGHT$( "0"
+ Q1$, 2)
2630 IF VAL( HOUR$ ) > 24 OR VAL( HOUR$ ) < 0 THEN GOTO 2620
2640 IF VAL( HOUR$ ) = 24 THEN HOUR$ = "23" : MINIT$ = "59" : SEC$ = "59" : GOTO 2700
2650 INPUT "enter minuts ( 0 - 59 ) mm "; Q2$ : IF Q2$ <> "" THEN MINIT$ = RIGHT$("0"
+ Q2$, 2)
2660 IF VAL( MINIT$ ) > 59 OR VAL( MINIT$ ) < 0 THEN GOTO 2650
2670 INPUT "enter seconds ( 0 - 59 ) ss "; Q3$ : IF Q3$ <> "" THEN SEC$ = RIGHT$("0"
+ Q3$, 2)
2680 IF VAL( SEC$ ) > 60 OR VAL( SEC$ ) < 0 THEN GOTO 2670
2690 IF Q1$ = "" AND Q2$ = "" AND Q3$ = "" THEN RETURN
2700 TI$ = HOUR$ + ":" + MINIT$ + ":" + SEC$ : TIME$ = TI$ : RETURN
2710 REM SET THE DATE
2720 INPUT "enter month ( 1 - 12 ) mm "; Q1$ : IF Q1$ <> "" THEN MONTH$ = RIGHT$("0"
+ Q1$, 2)
2730 IF VAL( MONTH$ ) > 12 OR VAL( MONTH$ ) < 1 THEN GOTO 2720
2740 PRINT "enter day ( 1 -";MDAYS%( VAL( MONTH$ ) ); : INPUT ") dd "; Q2$ : IF Q2$
<> "" THEN DAY$ = RIGHT$( "0" + Q2$, 2 )
2750 IF VAL( DAY$ ) > MDAYS%( VAL( MONTH$ ) ) OR VAL( DAY$ ) < 1 THEN GOTO 2740
2760 IF Q1$ = "" AND Q2$ = "" THEN RETURN
2770 DA$ = MONTH$ + "/" + DAY$ + "/" + YEAR$ : DATE$ = DA$ : RETURN
2780 REM ENTER THE TIME ZONE NUMBER
2790 INPUT "enter the time ZONE"; Q1$ : IF Q1$ <> "" THEN ZONE% = VAL( Q1$ )
2800 RETURN
2810 REM STOP THE CLOCK TOGGLE
2820 IF C% < 1 THEN C% = 1 ELSE C% = 0
2830 RETURN
2840 REM DAY LIGHT SAVINGS TOGGLE
2850 IF DSAV% < 1 THEN DSAV% = 1 ELSE DSAV% = 0
2860 RETURN
2870 REM SET THE LATITUDE LONGITUDE
2880 INPUT "enter latitude ( -90 - 90 ) dddd "; Q1$ : IF Q1$ <> "" THEN LAT =
VAL(Q1$)
2890 IF LAT > 90 OR LAT < -90 THEN GOTO 2880
2900 INPUT "enter longitude ( -180 - 180 ) dddd "; Q2$ : IF Q2$ <> "" THEN LONGIT =
VAL(Q2$)
2910 IF LONGIT > 180 OR LONGIT < -180 THEN GOTO 2900
2920 LATR = LAT * RCONV : LONGITR = LONGIT * RCONV
2930 RETURN
2940 REM TOGGLE REFRACTION CORRECTION
2950 IF R% < 1 THEN R% = 1 ELSE R% = 0
2960 RETURN
2970 REM TOGGLE CALCULATION MODE
2980 IF MODE% < 2 THEN MODE% = 2 ELSE MODE% = 1
2990 RETURN
3000 REM ADJUST THE RECEIVER POSITION
3010 PRINT " EASTwest UPdown SOUTHnorth"
3020 PRINT " tX tY tZ"
3030 PRINT " "; : PRINT USING"#######.###";TX;TY;TZ
3040 INPUT "enter tX xx "; Q1$ : IF Q1$ <> "" THEN TX = VAL( Q1$ )
3050 INPUT "enter tY yy "; Q2$ : IF Q2$ <> "" THEN TY = VAL( Q2$ )
3060 INPUT "enter tZ zz "; Q3$ : IF Q3$ <> "" THEN TZ = VAL( Q3$ )
3070 IF TX = 0 AND TY = 0 AND TZ = 0 THEN TZ = 1
3080 RETURN
3090 REM RUN THE EDITER
3100 Q$ = INKEY$ : IF Q$ <> "" THEN GOTO 3100
3110 SHELL EDT1$ : SHELL EDT2$ : RUN EDT3$
3120 RETURN


--
CUL8ER \ \ \ \ \ \\ \ \ Receiver
Powered by\ \ \ \ \ \\ \ \ [*]
Thermonuclear\ \ \ Solar\Energy\From the Sun \ //////
Energy (the Sun)\ \ \ \ \ \\ \ / / /\/ / //
\ \ \ \ \ /\ / \/ / / / |
WA0VBE \ \ \ \ / /\ \/ / / \/ /|
Ziggy \ \ \ / / / \ \/ \/ /\ |
\ / \ \/ / /\ \\ / \ / / |
"Red Rock Energy" === ===\ / \ / \ === \ / ===
Duane C. Johnson Designer === === \ \ === / |
1825 Florence St. Mirrors Heliostats Controls & Mounts|
White Bear Lake, Minnesota \ \ / |
USA 55110-3364 \ \ |
(612)635-5065 work copyright\ \ / |
(612)426-4766 home (C) 970403\ \ |
red...@pclink.com (my primary email: address) \ / |
red...@juno.com (juno address) ===\ |
john...@freenet.msp.mn.us (freeNET address) \ |
duane....@unisys.com (Unisys address) \ |
http://www.geocities.com/SiliconValley/3027/ \ |
These are my opinions, not that of Unisys. ===


Reply all
Reply to author
Forward
0 new messages