Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Solar Tracker Program

130 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. ===


0 new messages