basic的原文件,先通过BCX转化器,转化一下,注意转化过来的东东,错误是N的多哦。
得动手自己修改:
10 REM *****************************************************************
20 REM * IEEE METHOD - TRANSIENT OR STEADY STATE CALCULATION
30 REM * OF BARE OVERHEAD CONDUCTOR TEMPERATURE OR THERMAL RATING
40 REM * LAST MODIFIED 11 / 7 / 97 BY DAD
50 REM * PROGRAM NAME IS " IEEE738SI.BAS "
60 REM * LANGUAGE IS " QUICK BASIC "
70 REM * ASSUMES SI UNITS FOR INPUT FILE
80 REM *
90 REM *
240 REM * IN COMPARISON WITH THE 1986 VERSION OF THIS PROGRAM, PROVIDED
250 REM * BY THE IEEE, THE 1993 VERSION ADDED THE FOLLLOWING FEATURES:
260 REM *
290 REM * - INITIAL CONDUCTOR TEMP OR CURRENT CAN BE USED IN
300 REM * TRANSIENT CALCULATIONS
330 REM * - VERY SHORT DURATION " FAULT " CURRENTS AS LARGE AS 1E6
340 REM * AMPERES FOR TIMES AS SHORT AS 0.01 SEC CAN BE USED
350 REM * - THE ORIGINAL NUMERICAL ITERATION METHOD HAS BEEN
360 REM * REPLACED WITH A MUCH MORE EFFICIENT METHOD
370 REM * - FOR ACSR CONDUCTOR, THE HEAT CAPACITY OF THE STEEL CORE
380 REM * AND THE OUTER ALUM STRANDS ARE ENTERED SEPARATELY.
390 REM *
392 REM * THIS VERSION IS CONSISTENT WITH IEEE STD 738 - 2006
394 REM * - THE SOLAR MODEL ALLOWS ANY HOUR AND LATITUDE
396 REM * - THE AIR PROPERTIES ARE CALCULATED WITH CLOSED FORM EQUATIONS
398 REM * - THIS PROGRAM AND EQUATIONS USE SI UNITS
400 REM **************************************************************
410 REM ***********************************
420 REM * INITIALIZE VARIABLES AND ARRAYS *
430 REM ***********************************
440 DIM ATCDR( 1000 )
450 DIM TIME( 1000 )
460 FLAG1 = 0
470 XIDUMMY = 0
480 XIPRELOAD = 0
490 XISTEP = 0
500 TCDR = 0
510 TCDRPRELOAD = 0
520 TCDRMAX = 0
530 IORTPRELOAD = 0
540 DELTIME = 0
550 FS1 = 0
560 FS2 = 0
570 FS3 = 0
580 X$ = STRING$( 56 , 45 )
590 REM *******************************
600 REM * START REPEAT CALCULATION HERE
610 REM *******************************
620 FOR KI = 1 TO 1000
630 ATCDR(KI) = 0
640 TIME(KI) = 0
650 NEXT KI
660 NFLAG = 0
670 PI = 3.141593
672 PIANG = PI / 180 !
680 IF FLAG1 = 99 GOTO 1120
690 REM ************************************************
700 REM * SPECIFY DATA INPUT ASCII FILE NAME
710 REM ************************************************
720 CLS
730 INPUT " ENTER INPUT FILE NAME " , F$: OPEN F$ FOR INPUT AS # 1
780 REM ***********************************
790 REM * SPECIFY HOW DATA IS TO BE OUTPUT
800 REM ***********************************
810 PRINT " DO YOU WANT THE OUTPUT TO GO TO SCREEN ONLY(0), FILE ONLY(1), "
820 INPUT " OR TO BOTH SCREEN AND FILE(2)? " , SORF
830 IF SORF <> 0 AND SORF <> 1 AND SORF <> 2 THEN GOTO 810
840 IF SORF <> 0 THEN INPUT " ENTER OUTPUT FILE NAME " , FOUT$: OPEN FOUT$ FOR OUTPUT AS # 2
845 INPUT " DO YOU WANT DEBUG CHECKS? YES (0), NO(1) " , DEBUG
850 REM ************************************************************
860 REM * ENTER DATA FROM INPUT FILE
870 REM ************************************************************
880 GOSUB 8000
1120 REM *****************************************
1130 REM * CALCULATE SOLAR HEAT INPUT TO CONDUCTOR
1140 REM *****************************************
1150 GOSUB 5000
1160 REM **************************************************************
1170 REM * CALCULATE THERMAL COEF OF RESISTANCE & WIND ANGLE CORRECTION
1180 REM **************************************************************
1190 GOSUB 9000
1200 REM ********************************
1210 REM * SELECT THE CALCULATION DESIRED
1220 REM ********************************
1230 ON NSELECT GOTO 1500 , 1240 , 1460 , 1460
1240 REM ********************************************************************
1250 REM * FOR NSELECT = 2
1260 REM * GO TO AMPACITY SUBROUTINE TO CALCULATE THE STEADY STATE
1270 REM * CURRENT (TR) GIVEN THE STEADY STATE CONDUCTOR TEMPERATURE (TCDR)
1280 REM * THE CONDUCTOR TEMPERATURE IS GIVEN SO ONLY ONE PASS THROUGH
1290 REM * THE SUBROUTINE IS REQUIRED.
1300 REM ********************************************************************
1310 TCDR = TCDRPRELOAD
1320 GOSUB 15000
1330 GOTO 1730
1340 REM ********************************************************************
1350 REM
1360 REM ********************************************************************
1370 REM * FOR NSELECT = 1 , 3 ,OR 4
1380 REM * GO TO AMPACITY SUBROUTINE REPEATEDLY IN ORDER TO CALCULATE
1390 REM * THE STEADY STATE CURRENT (TR) CORRESPONDING TO TRIAL VALUES OF
1400 REM * CONDUCTOR TEMPERATURE (TCDR). IF T = 1 THEN THE OUTPUT OF THE
1410 REM * SUBROUTINE, TR, IS THE STEADY STATE CURRENT FOR
1420 REM * WHICH A STEADY STATE TEMPERATURE WAS TO BE FOUND.
1430 REM * IF T = 3 OR 4 AND IORTPRELOAD = 1 , THEN TR IS THE INITIAL PRE - STEP
1440 REM * CHANGE CURRENT FOR WHICH AN INITIAL TEMPERATURE WAS TO BE CALCULATED.
1450 REM *********************************************************************
1460 ON IORTPRELOAD GOTO 1500 , 1650
1470 REM ********************************************
1480 REM * CALCULATE TCDR GIVEN XIDUMMY = XIPRELOAD *
1490 REM ********************************************
1500 XIDUMMY = XIPRELOAD
1510 NFLAG = 0
1520 GOSUB 13000
1530 TCDRPRELOAD = TCDR
1540 REM ***************************************************************
1550 REM * FOR NSELECT = 1 THE PROGRAM HAS FOUND THE STEADY STATE CONDUCTOR
1560 REM * TEMPERATURE (TCDRPRELOAD) CORRESPONDING TO THE GIVEN STEADY STATE
1570 REM * CURRENT (XIPRELOAD) AND CONTROL IS PASSED TO THE PRINTOUT SECTION
1580 REM ***************************************************************
1590 IF NSELECT = 1 THEN 1730
1600 REM *****************************************************************
1610 REM * FOR NSELECT = 3 OR 4 , THE PROGRAM HAS DETERMINED (IORTPRELOAD = 1 ) OR BEEN
1620 REM * GIVEN (IORTPRELOAD = 2 ) THE INITIAL STEADY STATE CONDUCTOR TEMPERATURE
1630 REM * AND CONTROL PASSES TO FURTHUR TRANSIENT CALCULATIONS
1640 REM *****************************************************************
1650 IF NSELECT = 4 THEN GOSUB 10000
1660 REM *************************************************************
1670 REM * BEGIN CALCULATION OF CONDUCTOR TEMP AS A FUNCTION OF TIME
1680 REM * FOR A STEP INCREASE IN ELECTRICAL CURRENT, NSELECT = 3
1690 REM *************************************************************
1700 ET = 3600 !
1710 XISTEP = XISTEP
1720 GOSUB 11000
1730 REM *************************
1740 REM * PRINT RESULTS TO SCREEN
1750 REM *************************
1760 IF SORF = 0 OR SORF = 2 THEN GOSUB 6000
1770 REM ***********************
1780 REM * WRITE RESULTS TO FILE
1790 REM ***********************
1800 IF SORF = 1 OR SORF = 2 THEN GOSUB 16000
1810 REM IF FS = 1 GOTO 1880
1820 IF NS < NSETS THEN GOTO 880 ELSE CLOSE # 1
1830 IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1840 GOTO 1930
1850 REM ********************************************
1860 REM * SETUP TO REPEAT PROGRAM CALCULATIONS WITH NEW DATA
1870 REM ********************************************
1880 REM INPUT " DO YOU WANT TO RUN THE PROGRAM AGAIN (YES = 1, NO = 2) " , YN
1890 REM IF YN <> 1 AND YN <> 2 THEN GOTO 1880
1900 REM IF YN = 2 GOTO 1920
1910 REM IF YN = 1 THEN FLAG1 = 99 : RESTORE: GOTO 620
1920 REM IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1930 END
5000 REM /**/ /
5010 REM / SUBROUTINE TO CALCULATE CONDUCTOR SOLAR HEAT GAIN (QS)
5020 REM /**/ /
5030 IF SUN.TIME >= 24 THEN 5560
5040 DEG.TO.RAD = PI / 180 !
5050 CDR.LAT.RAD = CDR.LAT.DEG * DEG.TO.RAD
5060 REM * SOLAR DECLINATION
5070 DECL.DEG = 23.4583 * SIN((( 284 + NDAY) / 365 ) * 2 * PI)
5080 DECL.RAD = DECL.DEG * DEG.TO.RAD
5090 REM * SOLAR ANGLE RELATIVE TO NOON
5100 HOUR.ANG.DEG = (SUN.TIME - 12 ) * 15
5110 HOUR.ANG.RAD = HOUR.ANG.DEG * DEG.TO.RAD
5120 REM * FIND SOLAR ALTITUDE - H3
5130 H3ARG = COS(CDR.LAT.RAD) * COS(DECL.RAD) * COS(HOUR.ANG.RAD) + SIN(CDR.LAT.RAD) * SIN(DECL.RAD)
5140 H3.RAD = ATN(H3ARG / SQR( 1 - H3ARG ^ 2 ))
5150 H3.DEG = H3.RAD / DEG.TO.RAD
5160
5170 IF A3 = 1 THEN 5290
5180 REM ***************************************************************
5190 REM * SOLAR HEATING (Q3) AT EARTH SURFACE (W / M2) IN CLEAR AIR (P6)
5200 REM ***************************************************************
5210 Q3 = - 42.2391 + 63.8044 * H3.DEG - 1.922 * H3.DEG ^ 2
5220 Q3 = Q3 + . 034692 * H3.DEG ^ 3 - 3.6112E-04 * H3.DEG ^ 4
5230 Q3 = Q3 + 1.9432E-06 * H3.DEG ^ 5 - 4.0761E-09 * H3.DEG ^ 6
5240 B$ = " CLEAR "
5250 GOTO 5330
5260 REM *****************************************************************
5270 REM * SOLAR HEAT (Q3) AT EARTH SURFACE (W / M2) IN INDUSTRIAL AIR (P6)
5280 REM *****************************************************************
5290 Q3 = 53.1821 + 14.211 * H3.DEG + . 66138 * H3.DEG ^ 2
5300 Q3 = Q3 - . 031658 * H3.DEG ^ 3 + 5.4654E-04 * H3.DEG ^ 4
5310 Q3 = Q3 - 4.3446E-06 * H3.DEG ^ 5 + 1.3236E-08 * H3.DEG ^ 6
5320 B$ = " INDUSTRIAL "
5330 REM * CALCULATE SOLAR AZIMUTH VARIABLE, CHI
5335 IF DEBUG = 0 THEN PRINT # 2 , " Q3 = " ; Q3
5340 CHI.DENOM = SIN(CDR.LAT.RAD) * COS(HOUR.ANG.RAD) - COS(CDR.LAT.RAD) * TAN(DECL.RAD)
5350 CHI = SIN(HOUR.ANG.RAD) / CHI.DENOM
得动手自己修改:
10 REM *****************************************************************
20 REM * IEEE METHOD - TRANSIENT OR STEADY STATE CALCULATION
30 REM * OF BARE OVERHEAD CONDUCTOR TEMPERATURE OR THERMAL RATING
40 REM * LAST MODIFIED 11 / 7 / 97 BY DAD
50 REM * PROGRAM NAME IS " IEEE738SI.BAS "
60 REM * LANGUAGE IS " QUICK BASIC "
70 REM * ASSUMES SI UNITS FOR INPUT FILE
80 REM *
90 REM *
240 REM * IN COMPARISON WITH THE 1986 VERSION OF THIS PROGRAM, PROVIDED
250 REM * BY THE IEEE, THE 1993 VERSION ADDED THE FOLLLOWING FEATURES:
260 REM *
290 REM * - INITIAL CONDUCTOR TEMP OR CURRENT CAN BE USED IN
300 REM * TRANSIENT CALCULATIONS
330 REM * - VERY SHORT DURATION " FAULT " CURRENTS AS LARGE AS 1E6
340 REM * AMPERES FOR TIMES AS SHORT AS 0.01 SEC CAN BE USED
350 REM * - THE ORIGINAL NUMERICAL ITERATION METHOD HAS BEEN
360 REM * REPLACED WITH A MUCH MORE EFFICIENT METHOD
370 REM * - FOR ACSR CONDUCTOR, THE HEAT CAPACITY OF THE STEEL CORE
380 REM * AND THE OUTER ALUM STRANDS ARE ENTERED SEPARATELY.
390 REM *
392 REM * THIS VERSION IS CONSISTENT WITH IEEE STD 738 - 2006
394 REM * - THE SOLAR MODEL ALLOWS ANY HOUR AND LATITUDE
396 REM * - THE AIR PROPERTIES ARE CALCULATED WITH CLOSED FORM EQUATIONS
398 REM * - THIS PROGRAM AND EQUATIONS USE SI UNITS
400 REM **************************************************************
410 REM ***********************************
420 REM * INITIALIZE VARIABLES AND ARRAYS *
430 REM ***********************************
440 DIM ATCDR( 1000 )
450 DIM TIME( 1000 )
460 FLAG1 = 0
470 XIDUMMY = 0
480 XIPRELOAD = 0
490 XISTEP = 0
500 TCDR = 0
510 TCDRPRELOAD = 0
520 TCDRMAX = 0
530 IORTPRELOAD = 0
540 DELTIME = 0
550 FS1 = 0
560 FS2 = 0
570 FS3 = 0
580 X$ = STRING$( 56 , 45 )
590 REM *******************************
600 REM * START REPEAT CALCULATION HERE
610 REM *******************************
620 FOR KI = 1 TO 1000
630 ATCDR(KI) = 0
640 TIME(KI) = 0
650 NEXT KI
660 NFLAG = 0
670 PI = 3.141593
672 PIANG = PI / 180 !
680 IF FLAG1 = 99 GOTO 1120
690 REM ************************************************
700 REM * SPECIFY DATA INPUT ASCII FILE NAME
710 REM ************************************************
720 CLS
730 INPUT " ENTER INPUT FILE NAME " , F$: OPEN F$ FOR INPUT AS # 1
780 REM ***********************************
790 REM * SPECIFY HOW DATA IS TO BE OUTPUT
800 REM ***********************************
810 PRINT " DO YOU WANT THE OUTPUT TO GO TO SCREEN ONLY(0), FILE ONLY(1), "
820 INPUT " OR TO BOTH SCREEN AND FILE(2)? " , SORF
830 IF SORF <> 0 AND SORF <> 1 AND SORF <> 2 THEN GOTO 810
840 IF SORF <> 0 THEN INPUT " ENTER OUTPUT FILE NAME " , FOUT$: OPEN FOUT$ FOR OUTPUT AS # 2
845 INPUT " DO YOU WANT DEBUG CHECKS? YES (0), NO(1) " , DEBUG
850 REM ************************************************************
860 REM * ENTER DATA FROM INPUT FILE
870 REM ************************************************************
880 GOSUB 8000
1120 REM *****************************************
1130 REM * CALCULATE SOLAR HEAT INPUT TO CONDUCTOR
1140 REM *****************************************
1150 GOSUB 5000
1160 REM **************************************************************
1170 REM * CALCULATE THERMAL COEF OF RESISTANCE & WIND ANGLE CORRECTION
1180 REM **************************************************************
1190 GOSUB 9000
1200 REM ********************************
1210 REM * SELECT THE CALCULATION DESIRED
1220 REM ********************************
1230 ON NSELECT GOTO 1500 , 1240 , 1460 , 1460
1240 REM ********************************************************************
1250 REM * FOR NSELECT = 2
1260 REM * GO TO AMPACITY SUBROUTINE TO CALCULATE THE STEADY STATE
1270 REM * CURRENT (TR) GIVEN THE STEADY STATE CONDUCTOR TEMPERATURE (TCDR)
1280 REM * THE CONDUCTOR TEMPERATURE IS GIVEN SO ONLY ONE PASS THROUGH
1290 REM * THE SUBROUTINE IS REQUIRED.
1300 REM ********************************************************************
1310 TCDR = TCDRPRELOAD
1320 GOSUB 15000
1330 GOTO 1730
1340 REM ********************************************************************
1350 REM
1360 REM ********************************************************************
1370 REM * FOR NSELECT = 1 , 3 ,OR 4
1380 REM * GO TO AMPACITY SUBROUTINE REPEATEDLY IN ORDER TO CALCULATE
1390 REM * THE STEADY STATE CURRENT (TR) CORRESPONDING TO TRIAL VALUES OF
1400 REM * CONDUCTOR TEMPERATURE (TCDR). IF T = 1 THEN THE OUTPUT OF THE
1410 REM * SUBROUTINE, TR, IS THE STEADY STATE CURRENT FOR
1420 REM * WHICH A STEADY STATE TEMPERATURE WAS TO BE FOUND.
1430 REM * IF T = 3 OR 4 AND IORTPRELOAD = 1 , THEN TR IS THE INITIAL PRE - STEP
1440 REM * CHANGE CURRENT FOR WHICH AN INITIAL TEMPERATURE WAS TO BE CALCULATED.
1450 REM *********************************************************************
1460 ON IORTPRELOAD GOTO 1500 , 1650
1470 REM ********************************************
1480 REM * CALCULATE TCDR GIVEN XIDUMMY = XIPRELOAD *
1490 REM ********************************************
1500 XIDUMMY = XIPRELOAD
1510 NFLAG = 0
1520 GOSUB 13000
1530 TCDRPRELOAD = TCDR
1540 REM ***************************************************************
1550 REM * FOR NSELECT = 1 THE PROGRAM HAS FOUND THE STEADY STATE CONDUCTOR
1560 REM * TEMPERATURE (TCDRPRELOAD) CORRESPONDING TO THE GIVEN STEADY STATE
1570 REM * CURRENT (XIPRELOAD) AND CONTROL IS PASSED TO THE PRINTOUT SECTION
1580 REM ***************************************************************
1590 IF NSELECT = 1 THEN 1730
1600 REM *****************************************************************
1610 REM * FOR NSELECT = 3 OR 4 , THE PROGRAM HAS DETERMINED (IORTPRELOAD = 1 ) OR BEEN
1620 REM * GIVEN (IORTPRELOAD = 2 ) THE INITIAL STEADY STATE CONDUCTOR TEMPERATURE
1630 REM * AND CONTROL PASSES TO FURTHUR TRANSIENT CALCULATIONS
1640 REM *****************************************************************
1650 IF NSELECT = 4 THEN GOSUB 10000
1660 REM *************************************************************
1670 REM * BEGIN CALCULATION OF CONDUCTOR TEMP AS A FUNCTION OF TIME
1680 REM * FOR A STEP INCREASE IN ELECTRICAL CURRENT, NSELECT = 3
1690 REM *************************************************************
1700 ET = 3600 !
1710 XISTEP = XISTEP
1720 GOSUB 11000
1730 REM *************************
1740 REM * PRINT RESULTS TO SCREEN
1750 REM *************************
1760 IF SORF = 0 OR SORF = 2 THEN GOSUB 6000
1770 REM ***********************
1780 REM * WRITE RESULTS TO FILE
1790 REM ***********************
1800 IF SORF = 1 OR SORF = 2 THEN GOSUB 16000
1810 REM IF FS = 1 GOTO 1880
1820 IF NS < NSETS THEN GOTO 880 ELSE CLOSE # 1
1830 IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1840 GOTO 1930
1850 REM ********************************************
1860 REM * SETUP TO REPEAT PROGRAM CALCULATIONS WITH NEW DATA
1870 REM ********************************************
1880 REM INPUT " DO YOU WANT TO RUN THE PROGRAM AGAIN (YES = 1, NO = 2) " , YN
1890 REM IF YN <> 1 AND YN <> 2 THEN GOTO 1880
1900 REM IF YN = 2 GOTO 1920
1910 REM IF YN = 1 THEN FLAG1 = 99 : RESTORE: GOTO 620
1920 REM IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1930 END
5000 REM /**/ /
5010 REM / SUBROUTINE TO CALCULATE CONDUCTOR SOLAR HEAT GAIN (QS)
5020 REM /**/ /
5030 IF SUN.TIME >= 24 THEN 5560
5040 DEG.TO.RAD = PI / 180 !
5050 CDR.LAT.RAD = CDR.LAT.DEG * DEG.TO.RAD
5060 REM * SOLAR DECLINATION
5070 DECL.DEG = 23.4583 * SIN((( 284 + NDAY) / 365 ) * 2 * PI)
5080 DECL.RAD = DECL.DEG * DEG.TO.RAD
5090 REM * SOLAR ANGLE RELATIVE TO NOON
5100 HOUR.ANG.DEG = (SUN.TIME - 12 ) * 15
5110 HOUR.ANG.RAD = HOUR.ANG.DEG * DEG.TO.RAD
5120 REM * FIND SOLAR ALTITUDE - H3
5130 H3ARG = COS(CDR.LAT.RAD) * COS(DECL.RAD) * COS(HOUR.ANG.RAD) + SIN(CDR.LAT.RAD) * SIN(DECL.RAD)
5140 H3.RAD = ATN(H3ARG / SQR( 1 - H3ARG ^ 2 ))
5150 H3.DEG = H3.RAD / DEG.TO.RAD
5160
5170 IF A3 = 1 THEN 5290
5180 REM ***************************************************************
5190 REM * SOLAR HEATING (Q3) AT EARTH SURFACE (W / M2) IN CLEAR AIR (P6)
5200 REM ***************************************************************
5210 Q3 = - 42.2391 + 63.8044 * H3.DEG - 1.922 * H3.DEG ^ 2
5220 Q3 = Q3 + . 034692 * H3.DEG ^ 3 - 3.6112E-04 * H3.DEG ^ 4
5230 Q3 = Q3 + 1.9432E-06 * H3.DEG ^ 5 - 4.0761E-09 * H3.DEG ^ 6
5240 B$ = " CLEAR "
5250 GOTO 5330
5260 REM *****************************************************************
5270 REM * SOLAR HEAT (Q3) AT EARTH SURFACE (W / M2) IN INDUSTRIAL AIR (P6)
5280 REM *****************************************************************
5290 Q3 = 53.1821 + 14.211 * H3.DEG + . 66138 * H3.DEG ^ 2
5300 Q3 = Q3 - . 031658 * H3.DEG ^ 3 + 5.4654E-04 * H3.DEG ^ 4
5310 Q3 = Q3 - 4.3446E-06 * H3.DEG ^ 5 + 1.3236E-08 * H3.DEG ^ 6
5320 B$ = " INDUSTRIAL "
5330 REM * CALCULATE SOLAR AZIMUTH VARIABLE, CHI
5335 IF DEBUG = 0 THEN PRINT # 2 , " Q3 = " ; Q3
5340 CHI.DENOM = SIN(CDR.LAT.RAD) * COS(HOUR.ANG.RAD) - COS(CDR.LAT.RAD) * TAN(DECL.RAD)
5350 CHI = SIN(HOUR.ANG.RAD) / CHI.DENOM