Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Solar Tracker Program
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Duane C. Johnson  
View profile  
 More options Apr 30 1997, 3:00 am
Newsgroups: alt.solar.photovoltaic
From: "Duane C. Johnson" <red...@pclink.com>
Date: 1997/04/30
Subject: Solar Tracker Program

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)  \ /     |
redr...@juno.com                 (juno address)   ===\    |
johns...@freenet.msp.mn.us   (freeNET address)        \   |
duane.john...@unisys.com     (Unisys address)          \  |
http://www.geocities.com/SiliconValley/3027/            \ |
These are my opinions,  not that of Unisys.             ===


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »