10 ! ************************************************************************ 20 ! * * 30 ! * E N O R M * 40 ! * PROGRAM F\R BER[KNING AV ENERGI- * 50 ! * F\RBRUKNING I SM]HUS * 60 ! * * 70 ! * Version 2.1 Feb 1983 * 80 ! * * 90 ! ************************************************************************ 100 ! 110 ! ........................................................................ 120 ! . . 130 ! . Chains program EBER . 140 ! . . 150 ! . File created 1982-12-13 . 160 ! . . 170 ! . Modification history: . 180 ! . . 190 ! . Rev. Date Reason Sign. . 200 ! . 1.1 83-01-18 Revidering av v{rmepumpsformeln NR . 210 ! . . 220 ! . . 230 ! . 1.2 83-01-31 Vinterns f|rluster uppdelade i tv} . 240 ! . kolumner: Trans och vent. . 250 ! . Fel r{ttat p} rad 2660: Phhvvp bytt . 260 ! . till Pvvhhp, Pfm-Pvvhhp bytt till . 270 ! . (Pfm-Pvvhhp). NR . 280 ! . . 290 ! . . 300 ! . 1.3 83-02-09 Stockholm% {ndrat till Sthlm, ort% . 310 ! . till ort o s v SM . 320 ! . . 330 ! . . 340 ! . 2.0 83-02-10 Ny ber{kningsmetod: BKL 1982:3. . 350 ! . Varaktighetsdiagramet f|r soleffekt . 360 ! . modelleras m h a 3 punkter ist{llet . 370 ! . f|r 2. Nya villkor f|r m}nadernas . 380 ! . energibalanser. SM . 390 ! . . 400 ! . . 401 ! . 2.1 83-02-10 Ber{kning av dimensionerande radiator- . 402 ! . Effekt SM . 403 ! . . 410 ! ........................................................................ 420 ! 430 EXTEND ! enable long identifiers 440 SINGLE ! single precision ( 7 digits) 450 ! 460 ! ***************** COMMON AREA ***************************************** 470 COMMON True,False 480 COMMON Jan,Feb,Mar,Apr,Maj,Jun,Jul,Aug,Sep,Okt,Nov,Dec 490 COMMON Sthlm.,Malm|.,Ume}. 500 COMMON Golv.,Vagg.,Fonster.,Dorr.,Ovrig.,Tak. 510 COMMON Husnamn$=100.,Ort.,Ti. 520 COMMON Ba.(10.),Redfakt.,Bosta.,Bygga.,K.(6.) 530 COMMON Venttyp$=20.,Inf.,Min.,Full.,T1.,T2.,T3.,Eta.,Vol.,Ventvol.,Flakt. 540 COMMON S.,Beta.,A.(10.),Riktning.(10.),Lutning.(10.) 550 COMMON Person.,Hush.,Hushp.,Vv.,Vvp. 560 COMMON Sbn75.,Sbn82. 570 COMMON Dred.,Plvk.,Plvks.,Pumptyp.,Pumpspar. 580 COMMON Vkf. 590 COMMON Allread. 600 COMMON Choice. 610 ! 620 ! ********************** INITIATE "CONSTANTS" ************************* 630 True=-1 : False=0 640 Jan=1 : Feb=2 : Mar=3 : Apr=4 : Maj=5 : Jun=6 650 Jul=7 : Aug=8 : Sep=9 : Okt=10 : Nov=11 : Dec=12 660 Tak.=1. : Vagg.=2. : Golv.=3. : Fonster.=4. : Dorr.=5. : Ovrig.=6. 670 Sbn75.=1. : Sbn82.=2. 680 Malm|.=1. : Sthlm.=2. : Ume}.=3. 690 Notzero.=17. ! Anything <> 0 700 ! 710 ! ******************* INITIATE "BASDATA" ******************************* 720 Tibas.=20. 730 Infbas.=0. 740 Infftxbas.=.1 750 Etabas.=60. 760 Minbas.=.5 770 Fullbas.=.7 780 T1bas.=0. 790 T2bas.=24. 800 T3bas.=0. 810 Ventdelbas.=.85 820 Sbas.=.75 830 Lutbas.=0. 840 Norrpbas.=10. 850 Ostpbas.=25. 860 Sydpbas.=40. 870 Vestpbas.=25. 880 Fglasbas.=.7 890 Betabas.=.6 900 Personbas.=1300. 910 Hushbas.=5000. 920 Hushpbas.=80. 930 Vvbas.=4000. 940 Vvpbas.=20. 950 Flaktbas.=400. 960 Fonsterpbas.=15. 970 Takhbas.=15. 980 Pumpsparbas.=1900. 990 ! 1000 ! ***************** INITIATE "K-V[RDESMATRIS" ************************** 1010 FOR I.=1. TO 3. 1020 RESTORE 1030 DATA .2,.3,.3,2,1,0 1040 DATA .12,.17,.20,2,.8,0 1050 ! Tak,v{gg,golv,f|nster,d|rr,|vrig 1060 FOR Norm.=Sbn75. TO Sbn82. 1070 FOR Bdel.=Tak. TO Ovrig. 1080 READ Ktab.(Bdel.,Norm.,I.) 1090 NEXT Bdel. 1100 NEXT Norm. 1110 NEXT I. 1120 Ktab.(Tak.,Sbn75.,Ume}.)=.17 1130 Ktab.(Vagg.,Sbn75.,Ume}.)=.25 1140 ! 1150 ! ********************** MAIN LOOP ************************************* 1160 ON ERROR GOTO 5970 1170 PRINT CHR$(12.);"E N O R M - PROGRAM F\R BER[KNING AV ENERGIF\RBRUKNING I SM]HUS" 1180 PRINT "==================================================================" 1190 PRINT 1200 PRINT "HUVUDMENY:" 1210 PRINT "==========" 1220 PRINT 1230 ; "<1> L{s indata f|r helt ny k|rning" 1240 ; "<2> [ndra indata" 1250 ; "<3> Skriv ut resultat p} skrivaren" 1260 ; "<4> Skriv ut resultat p} bildsk{rmen" 1270 ; "<5> Spara hela resultatet p} diskett" 1280 ; "<6> Spara viss statistik p} diskett" 1290 ; "<7> Ge hj{lp om hur programmet anv{nds" 1300 ; "<8> Sidframmatning p} skrivare" 1310 ; "<9> Avsluta k|rningen" 1320 ON FNInmenue.(1.,9.) GOTO 1340,1460,4980,5020,5060,5100,5150,5370,5430 1330 ! 1340 ! **************** READ ALL INDATA ************************************* 1350 GOSUB 1740 ! Husben{mning 1360 GOSUB 1800 ! Ort 1370 GOSUB 1890 ! Inomhustemperatur 1380 GOSUB 2140 ! Transmissionsdata 1390 GOSUB 2970 ! Ventilationsdata 1400 GOSUB 3770 ! F|nsterdata 1410 GOSUB 4700 ! Gratisv{rme 1420 GOSUB 4860 : ! V{rmekapacitet 1430 Allread.=True 1440 GOTO 1170 ! Huvudmeny 1450 ! 1460 ! ******************** CHANGE DATA ************************************* 1470 IF NOT Allread. THEN ; "Du kan inte {ndra data innan du matat in n}gra!" : Slask.=FNWait.(10.) : GOTO 1170 ! Huvudmeny 1480 Datainmenue.=Notzero. 1490 WHILE Datainmenue.<>0. 1500 PRINT CHR$(12.) 1510 PRINT "[NDRING AV INDATA:" 1520 PRINT "==================" 1530 PRINT 1540 PRINT "<0> Avslutning av indata{ndring" 1550 PRINT "<1> [ndring av samtliga nedanst}ende data" 1560 PRINT "<2> Husben{mning" 1570 PRINT "<3> Ort" 1580 PRINT "<4> Inomhustemperatur" 1590 PRINT "<5> Transmissionsf|rluster" 1600 PRINT "<6> Ventilationsf|rluster" 1610 PRINT "<7> F|nsterdata" 1620 PRINT "<8> Gratisv{rme" 1630 PRINT "<9> V{rmekapacitetsklass" 1640 Datainmenue.=FNInmenue.(0.,9.) 1650 IF Datainmenue.<>0. THEN ON Datainmenue. GOSUB 1690,1740,1800,1890,1940,2970,3770,4700,4860 1660 WEND ! inmatning av data 1670 GOTO 1170 ! Huvudmeny 1680 ! 1690 ! ++++++++++++++++++++++ Helt ny k|rning ++++++++++++++++++++++++++++++++ 1700 GOSUB 1740 : GOSUB 1800 : GOSUB 1890 : GOSUB 1940 : GOSUB 2970 1710 GOSUB 3770 : GOSUB 4700 1720 RETURN ! To change data 1730 ! 1740 ! ++++++++++++++++++++++++++ Husben{mning +++++++++++++++++++++++++++++++ 1750 PRINT CHR$(12.);"Husben{mning: "; 1760 INPUT LINE Husnamn$ 1770 Husnamn$=LEFT$(Husnamn$,LEN(Husnamn$)-2.) 1780 RETURN ! To change data 1790 ! 1800 ! ++++++++++++++++++++++++++++++ Ort ++++++++++++++++++++++++++++++++++++ 1810 PRINT CHR$(12.);"Val av ort:" 1820 PRINT 1830 PRINT "<1> Malm|" 1840 PRINT "<2> Stockholm" 1850 PRINT "<3> Ume}" 1860 Ort.=FNInmenue.(1.,3.) 1870 RETURN ! To change data 1880 ! 1890 ! ++++++++++++++++++++++++++++ Inomhustemperatur ++++++++++++++++++++++++ 1900 PRINT CHR$(12.);"Inomhustemperatur (grader celsius)"; 1910 Ti.=FNIn.(Tibas.) 1920 RETURN ! To change data 1930 ! 1940 ! +++++++++++++++++++++++++ Transmissionsf|rluster ++++++++++++++++++++++ 1950 Transmenue.=Notzero. 1960 WHILE Transmenue.<>0. 1970 PRINT CHR$(12.);"Inmatning av data f|r ber{kning av transmissionsf|rluster:" 1980 PRINT 1990 PRINT "<0> Avsluta inmatning av transmissionsdata" 2000 PRINT "<1> Inmatning av samtliga nedanst}ende v{rden" 2010 PRINT "<2> Bostadsyta" 2020 PRINT "<3> Takyta" 2030 PRINT "<4> V{ggyta" 2040 PRINT "<5> Golvyta" 2050 PRINT "<6> F|nsteryta" 2060 PRINT "<7> D|rryta" 2070 PRINT "<8> \vriga ytor" 2080 PRINT "<9> Inmatning av k-v{rden f|r de olika byggdelarna" 2090 Transmenue.=FNInmenue.(0.,9.) 2100 IF Transmenue.<>0. THEN ON Transmenue. GOSUB 2140,2190,2250,2290,2330,2370,2420,2460,2500 2110 WEND ! transmission menue 2120 RETURN ! To change data 2130 ! 2140 ! Transmission, helt nya v{rden 2150 GOSUB 2190 : GOSUB 2250 : GOSUB 2290 : GOSUB 2330 : GOSUB 2370 2160 GOSUB 2420 : GOSUB 2460 : GOSUB 2500 2170 RETURN ! To transm 2180 ! 2190 ! Transm, bostadsyta 2200 INPUT "Prim{r bruksarea (m2): ";Bosta. 2210 PRINT "Byggnadsarea (m2)"; 2220 Bygga.=FNIn.(Bosta.*1.15) 2230 RETURN ! to transm 2240 ! 2250 ! Transm, Takyta 2260 INPUT "Takyta (m2): ";Ba.(Tak.) 2270 RETURN ! to transm 2280 ! 2290 ! Transm, V{ggyta 2300 INPUT "V{ggyta (m2): ";Ba.(Vagg.) 2310 RETURN ! to transm 2320 ! 2330 ! Transm, golvyta 2340 INPUT "Golvyta (m2): ";Ba.(Golv.) 2350 RETURN ! to transm 2360 ! 2370 ! Transm, f|nsteryta 2380 PRINT "F|nsteryta (m2)"; 2390 Ba.(Fonster.)=FNIn.(Bygga.*Fonsterpbas./100.) 2400 RETURN ! to transm 2410 ! 2420 ! transm, d|rryta 2430 INPUT "D|rryta (m2): ";Ba.(Dorr.) 2440 RETURN ! to transm 2450 ! 2460 ! Transm, |vriga ytor 2470 INPUT "\vriga ytor (m2): ";Ba.(Ovrig.) 2480 RETURN ! to transm 2490 ! 2500 ! ......................... Transm, k-v{rden ............................ 2510 Kmenue.=Notzero. 2520 WHILE Kmenue.<>0. 2530 PRINT CHR$(12.);"K-v{rdesinmatning:" 2540 PRINT 2550 PRINT "<0> avsluta k-v{rdesinmatning" 2560 PRINT "<1> k-v{rden enligt SBN-75" 2570 PRINT "<2> k-v{rden enligt SBN-82" 2580 PRINT "<3> k-v{rden f|r varje byggdel" 2590 Kmenue.=FNInmenue.(0.,3.) 2600 IF Kmenue.<>0. THEN ON Kmenue. GOSUB 2640,2690,2860 2610 WEND ! kmenue 2620 RETURN ! to transm 2630 ! 2640 ! k = SBN-75 2650 Norm.=Sbn75. 2660 GOSUB 2740 2670 RETURN ! to kmenue 2680 ! 2690 ! k = SBN-82 2700 Norm.=Sbn82. 2710 GOSUB 2740 2720 RETURN ! to kmenue 2730 ! 2740 ! norm -> k-v{rdesmatris 2750 PRINT "Reduktionsfaktor f|r k-v{rde golv"; 2760 Redfakt.=FNIn.(1.) 2770 FOR Byggdel.=Tak. TO Ovrig. 2780 K.(Byggdel.)=Ktab.(Byggdel.,Norm.,Ort.) 2790 NEXT Byggdel. 2800 PRINT "K-v{rde f|r '|vriga ytor'"; 2810 K.(Ovrig.)=FNIn.(1.) 2820 PRINT "Norm inl{st." 2830 Slask.=FNWait.(10.) 2840 RETURN ! to SBN-75/82 2850 ! 2860 ! K-v{rden, varje byggdel 2870 INPUT "k-v{rde tak: ";K.(Tak.) 2880 INPUT "k-v{rde v{gg: ";K.(Vagg.) 2890 INPUT "k-v{rde golv: ";K.(Golv.) 2900 PRINT "Eventuell reduktionsfaktor"; 2910 Redfakt.=FNIn.(1.) 2920 INPUT "k-v{rde f|nster: ";K.(Fonster.) 2930 INPUT "k-v{rde d|rr: ";K.(Dorr.) 2940 INPUT "k-v{rde |vriga ytor: ";K.(Ovrig.) 2950 RETURN ! to kmenue 2960 ! 2970 ! +++++++++++++++++++++++++ Ventilationsdata +++++++++++++++++++++++++++ 2980 Ventmenue.=17. 2990 Pumptyp.=0. 3000 WHILE Ventmenue.<>0. 3010 PRINT CHR$(12.);"Inmatning av ventilationsdata" 3020 PRINT 3030 PRINT "<0> Avsluta inmatning ventilationsdata" 3040 PRINT "<1> Sj{lvdragsventilation" 3050 PRINT "<2> Fr}nluftsventilation" 3060 PRINT "<3> Balanserad ventilation" 3070 PRINT "<4> Inmatning av eventuella v{rmepumpsdata (mata f|rst in <2> eller <3>)" 3080 Ventmenue.=FNInmenue.(0.,4.) 3090 IF Ventmenue.<>0. THEN ON Ventmenue. GOSUB 3130,3250,3460,3550 3100 WEND 3110 RETURN ! To datainmenue 3120 ! 3130 ! ........................ Sj{lvdragsventilation ........................ 3140 INPUT "Husvolym (m3): ";Vol. 3150 PRINT "F|rh}llande Ventilerad volym/husvolym"; 3160 Ventvol.=Vol.*FNIn.(Ventdelbas.) 3170 Venttyp$="Sj{lvdrags" 3180 PRINT "l{ckage, (oms{ttningar/timme)"; 3190 Inf.=FNIn.(Infbas.) 3200 PRINT "Styrd ventilation, (oms/tim):"; 3210 Min.=FNIn.(Minbas.) 3220 T1.=0. : T2.=24. : T3.=0. : Eta.=0. : Full.=0. 3230 RETURN ! to ventmenue 3240 ! 3250 ! ........................ Fr}nluftsventilation ......................... 3260 Eta.=0. 3270 INPUT "Husvolym (m3): ";Vol. 3280 PRINT "F|rh}llande ventilerad volym/husvolym"; 3290 Ventvol.=Vol.*FNIn.(Ventdelbas.) 3300 Venttyp$="Fr}nlufts" 3310 PRINT "L{ckage (oms/tim)"; 3320 IF Venttyp$="Balanserad " THEN Inf.=FNIn.(Infftxbas.) ELSE Inf.=FNIn.(Infbas.) 3330 PRINT "Basfl|de (oms/tim)"; 3340 Min.=FNIn.(Minbas.) 3350 PRINT "Forcerat fl|de (oms/tim)"; 3360 Full.=FNIn.(Fullbas.) 3370 PRINT "Tid fl{kt avst{ngd (timmar/dygn)"; 3380 T1.=FNIn.(T1bas.) 3390 PRINT "Tid fl{kt basfl|de (timmar/dygn)"; 3400 T2.=FNIn.(T2bas.) 3410 PRINT "Tid fl{kt forcerat fl|de (timmar/dygn):"; 3420 T3.=FNIn.(T3bas.) 3430 IF T1.+T2.+T3.<>24. THEN PRINT "Du har";T1.+T2.+T3.;"timmar p} ett dygn! F|rs|k igen! " : GOTO 3370 3440 RETURN ! to ventmenue 3450 ! 3460 ! ....................... Balanserad ventilation ....................... 3470 INPUT "Husvolym (m3): ";Vol. 3480 PRINT "F|rh}llande ventilerad volym/husvolym"; 3490 Ventvol.=Vol.*FNIn.(Ventdelbas.) 3500 Venttyp$="Balanserad " 3510 PRINT "Verkningsgrad p} }tervinning (%)"; 3520 Eta.=FNIn.(Etabas.) 3530 GOTO 3310 ! Resten {r lika som f|r fr}nluftsvent 3540 ! 3550 ! ........................ V{rmepumpsdata ............................... 3560 ; CHR$(12.);"Typ av v{rmepump" 3570 ; 3580 ; "<1> FVP f|r tappvarmvatten" 3590 ; "<2> FVP f|r tappvarmvatten och rumsuppv{rmning" 3600 Pumpmenue.=FNInmenue.(1.,2.) 3610 ON Pumpmenue. GOSUB 3640,3700 3620 RETURN ! To ventmenue 3630 ! 3640 ! Tappvv 3650 ; "Energibesparing (kWh/}r)"; 3660 Pumpspar.=FNIn.(Pumpsparbas.) 3670 Pumptyp.=1. 3680 RETURN ! To pumpmenue 3690 ! 3700 ! Tappvv och rumsuppv 3710 INPUT "Reduktion av uppv{rmningss{song (dagar): ";Dred. 3720 INPUT "Planverkskonstant, vinter: ";Plvk. 3730 INPUT "Planverkskonstant, sommar: ";Plvks. 3740 Pumptyp.=2. 3750 RETURN ! To pumpmenue 3760 ! 3770 ! +++++++++++++++++++++++ F|nsterdata +++++++++++++++++++++++++++++++++++ 3780 Fonstermenue.=Notzero. 3790 WHILE Fonstermenue.<>0. 3800 ; CHR$(12.);"Inmatning av f|nsterdata:" 3810 ; 3820 ; "<0> Avslutar inmatning av f|nsterdata" 3830 ; "<1> Enkel inmatning, gynnsam orientering" 3840 ; "<2> Noggrannare inmatning med spec. f|r varje f|nster" 3850 ; "<3> Enkel inmatning, lika f|rdelning" 3860 Fonstermenue.=FNInmenue.(0.,3.) 3870 IF Fonstermenue.<>0. THEN ON Fonstermenue. GOSUB 3910,4510,4190 3880 WEND 3890 RETURN ! to inmenue 3900 ! 3910 ! ................ "Enkel" f|nsterinmatning, gynnsam f|rd ............... 3920 ; CHR$(12.);"Inmatning av f|nsterdata:" 3930 ; 3940 PRINT "Solfaktor 'S' g{llande f|r alla v{derstreck"; 3950 S.=FNIn.(Sbas.) 3960 PRINT "Skuggningsfaktor 'Beta' g{llande f|r alla v{derstreck"; 3970 Beta.=FNIn.(Betabas.) 3980 PRINT "Total f | n s t e r area (karmytterm}tt) (m2)"; 3990 Ftot.=FNIn.(Ba.(Fonster.)) 4000 PRINT "F|rh}llande glas/f|nsterarea"; 4010 Fglas.=FNIn.(Fglasbas.) 4020 Ftot.=Fglas.*Ftot. 4030 ; "Procent av f|nsterytan som {r riktad mot NORR"; 4040 Norrp.=FNIn.(Norrpbas.) 4050 ; "Procent av f|nsterytan som {r riktad mot OST"; 4060 Ostp.=FNIn.(Ostpbas.) 4070 ; "Procent av f|nsterytan som {r riktad mot S\DER"; 4080 Sydp.=FNIn.(Sydpbas.) 4090 ; "Procent av f|nsterytan som {r riktad mot V[STER"; 4100 Vestp.=FNIn.(Vestpbas.) 4110 IF Norrp.+Ostp.+Sydp.+Vestp.<>100. THEN ; "Summa ej 100%!" : ; : GOTO 4030 4120 Riktning.(1.)=1. : A.(1.)=Ftot.*Norrp./100. : Lutning.(1.)=0. 4130 Riktning.(2.)=3. : A.(2.)=Ftot.*Ostp./100. : Lutning.(2.)=0. 4140 Riktning.(3.)=5. : A.(3.)=Ftot.*Sydp./100. : Lutning.(3.)=0. 4150 Riktning.(4.)=7. : A.(4.)=Ftot.*Vestp./100. : Lutning.(4.)=0. 4160 A.(5.)=0. 4170 RETURN ! To fonstermenue 4180 ! 4190 ! ............... "Enkel" f|nsterinmatning, lika orientering ............ 4200 ; CHR$(12.);"Inmatning av f|nsterdata:" 4210 ; 4220 PRINT "Solfaktor 'S' g{llande f|r alla v{derstreck"; 4230 S.=FNIn.(Sbas.) 4240 PRINT "Skuggningsfaktor 'Beta' g{llande f|r alla v{derstreck"; 4250 Beta.=FNIn.(Betabas.) 4260 PRINT "Total f | n s t e r area (karmytterm}tt) (m2)"; 4270 Ftot.=FNIn.(Ba.(Fonster.)) 4280 PRINT "F|rh}llande glas/f|nsterarea"; 4290 Fglas.=FNIn.(Fglasbas.) 4300 Ftot.=Fglas.*Ftot. 4310 ; "Procent av f|nsterytan som {r riktad mot NORR"; 4320 Norrp.=FNIn.(25.) 4330 ; "Procent av f|nsterytan som {r riktad mot OST"; 4340 Ostp.=FNIn.(25.) 4350 ; "Procent av f|nsterytan som {r riktad mot S\DER"; 4360 Sydp.=FNIn.(25.) 4370 ; "Procent av f|nsterytan som {r riktad mot V[STER"; 4380 Vestp.=FNIn.(25.) 4390 IF Norrp.+Ostp.+Sydp.+Vestp.<>100. THEN ; "Summa ej 100%!" : ; : GOTO 4310 4400 Riktning.(1.)=1. : A.(1.)=Ftot.*Norrp./100. : Lutning.(1.)=0. 4410 Riktning.(2.)=3. : A.(2.)=Ftot.*Ostp./100. : Lutning.(2.)=0. 4420 Riktning.(3.)=5. : A.(3.)=Ftot.*Sydp./100. : Lutning.(3.)=0. 4430 Riktning.(4.)=7. : A.(4.)=Ftot.*Vestp./100. : Lutning.(4.)=0. 4440 A.(5.)=0. 4450 RETURN ! To fonstermenue 4460 ! 4470 ! 4480 ! 4490 ! 4500 ! 4510 ! .............. "Speciell" f|nsterinmatning ............................ 4520 PRINT CHR$(12.);"Inmatning av f|nsterdata:" 4530 PRINT 4540 PRINT "Solfaktor 'S' g{llande f|r samtliga f|nster"; 4550 S.=FNIn.(Sbas.) 4560 PRINT "Skuggningsfaktor 'Beta' g{llande f|r samtliga f|nster"; 4570 Beta.=FNIn.(Betabas.) 4580 I.=0. : A.(I.)=17. 4590 WHILE A.(I.)<>0. 4600 I.=I.+1. 4610 PRINT "F|nsterparti nummer:";I. 4620 INPUT "Orientering (0=Norr, 90=Ost e t c, grader): ";Orientering. 4630 Riktning.(I.)=FNRiktning.(Orientering.) 4640 PRINT "F|nsterlutning (0=vertikal, 90=horisontell, grader)"; 4650 Lutning.(I.)=FNIn.(Lutbas.) 4660 INPUT "G l a s area (m2), 0 avslutar inmatningen: ";A.(I.) 4670 WEND 4680 RETURN ! To fonstermenue 4690 ! 4700 ! +++++++++++++++++++++++ Gratisv{rme +++++++++++++++++++++++++++++++++++ 4710 PRINT CHR$(12.);"Inmatning av gratisv{rmedata:" 4720 PRINT 4730 PRINT "Personv{rme (kWh/}r)"; 4740 Person.=FNIn.(Personbas.) 4750 PRINT "Hush}llsel (kWh/}r)"; 4760 Hush.=FNIn.(Hushbas.) 4770 PRINT "Verkningsgrad (%)"; 4780 Hushp.=FNIn.(Hushpbas.) 4790 PRINT "Varmvattenf|rbrukning (kWh/}r)"; 4800 Vv.=FNIn.(Vvbas.) 4810 PRINT "verkningsgrad (%)"; 4820 Vvp.=FNIn.(Vvpbas.) 4830 PRINT "Fl{ktenergi (kWh/}r)"; 4840 Flakt.=FNIn.(Flaktbas.) 4850 RETURN ! to huvudmenue 4860 ! +++++++++++++ V{rmekapacitetsklass ++++++++++++++++++++++++++++++++++++ 4870 ; CHR$(12.);"Val av v{rmekapacitetsklass:" 4880 ; 4890 ; "<1> L{tta sm}hus" 4900 ; "<2> Medeltunga sm}hus" 4910 ; "<3> Tunga sm}hus" 4920 Vklass.=FNInmenue.(1.,3.) 4930 IF Vklass.=1. THEN Vkf.=75. 4940 IF Vklass.=2. THEN Vkf.=150. 4950 IF Vklass.=3. THEN Vkf.=225. 4960 RETURN ! to change data 4970 ! 4980 ! *************** Resultat -> skrivare ********************************* 4990 Choice.=1. 5000 CHAIN "EBER" 5010 ! 5020 ! ********************* Resultat -> bildsk{rm *************************** 5030 Choice.=2. 5040 CHAIN "EBER" 5050 ! 5060 ! *************** Resultat -> diskett ********************************** 5070 Choice.=3. 5080 CHAIN "EBER" 5090 ! 5100 ! ****************** Del av resultat -> diskett ************************* 5110 PRINT CHR$(12.);"Denna funktion finns inte {nnu!" 5120 Slask.=FNWait.(10.) 5130 GOTO 1170 5140 ! 5150 ! *************** Hj{lp -> bildsk{rm *********************************** 5160 ; CHR$(12.);"Hj{lp f|r k|rning av programmet 'ENORM'" 5170 ; 5180 ; "Du styr vad som skall g|ras genom val p} presenterade menyer." 5190 ; "Svara med en siffra och tryck sedan p} . V{ljer man" 5200 ; "<1> p} huvudmenyn fr}gar programmet efter alla indata som beh|vs." 5210 ; "Vill man sedan {ndra n}got v{rde g|rs detta genom <2>. [ndringar" 5220 ; "kan g|ras efter resultatutskrift b}de p} skrivare <3> och p}" 5230 ; "bildsk{rm <4>." 5240 ; "Vid behandling av v{rmepumpar m}ste f|rst ventilationsdata enligt" 5250 ; "<2> eller <3> p} ventilationsmenyn inmatas. Om man vid {ndring kommer" 5260 ; "till ventilationsmenyn kommer ev tidigare inmatade v{rmepumpsdata att" 5270 ; "raderas." 5280 ; "Vid {ndring av ort b|r observeras att k-v{rden inte automatiskt {ndras." 5290 ; "Anv{nds k-v{rden enligt SBN-75 l|ses detta genom att efter byte av ort" 5300 ; "(Malm|, Stockholm <-> Ume}) l{sa in k-v{rden enligt norm en g}ng till." 5310 ; 5320 ; 5330 ; 5340 INPUT "Tryck p} n{r du l{st f{rdigt";Slask$ 5350 GOTO 1170 ! Huvudmeny 5360 ! 5370 ! *********** Sidframmatning, skrivare *********************************** 5380 OPEN "PR:" AS FILE 1. 5390 ; #1. CHR$(12.) 5400 CLOSE 1. 5410 GOTO 1170 ! Huvudmeny 5420 ! 5430 ! *********************** Avsluta k|rningen **************************** 5440 OPEN "PR:" AS FILE 1. 5450 ; #1. CHR$(7.); 5460 CLOSE 1. 5470 ; 5480 ; "Adj|" 5490 END 5500 ! 5510 ! ***************** USER FUNCTIONS *********************************** 5520 DEF FNRiktning.(Orientering.)=INT(Orientering./360.*8.+1.5) 5530 ! 5540 DEF FNInmenue.(Min.,Max.) LOCAL Min.,Max.,In.,In$=80 5550 PRINT 5560 PRINT "Ange siffra (";Min.;"-";Max.;") motsvarande ditt val: "; 5570 ON ERROR GOTO 5650 5580 INPUT "";In$ 5590 In.=VAL(In$) 5600 WHILE In.Max. 5610 PRINT CHR$(7.);"Talet f|r stort eller f|r litet, ge nytt v{rde: "; 5620 INPUT "";In$ : In.=VAL(In$) 5630 WEND 5640 RETURN In. 5650 ! Error handler for FNINMENUE 5660 IF ERRCODE=210. THEN PRINT CHR$(7.);"Anv{nd siffror! Ny inmatning: "; : RESUME 5620 5670 PRINT 5680 PRINT CHR$(7.);"Ej frammaskat fel i 'Inmenue', Errcode = ";ERRCODE 5690 RESUME 5560 5700 FNEND ! Inmenue 5710 ! 5720 DEF FNIn.(Z.) LOCAL Z.,In$=80 5730 ON ERROR GOTO 5770 5740 PRINT "; =";Z.;": "; 5750 INPUT "";In$ 5760 IF In$="" THEN RETURN Z. ELSE RETURN VAL(In$) 5770 ! Error handler for FNIn 5780 PRINT 5790 IF ERRCODE=210. THEN PRINT CHR$(7.);"Anv{nd siffror eller ! Nytt f|rs|k: "; : RESUME 5750 5800 PRINT CHR$(7.);"Obest{mt fel i 'In', ERRCODE=";ERRCODE 5810 PRINT "F|rs|k igen: "; 5820 RESUME 5750 5830 FNEND ! In 5840 ! 5850 DEF FNWait.(T.) LOCAL T.,I.,J. 5860 J.=0. : I.=0. 5870 WHILE I.