background image

1

9. ARKUSZE KALKULACYJNE W ENERGETYCE

9.1.  Arkusz kalkulacyjny czy pakiet obliczeniowy 
9.2. MathCad - cechy
9.3. MathCad - funkcje
9.4. MathCad – funkcje
9.5.  Excel
9.6.  Excel – programowanie w VBA
9.7.  Excel – programowanie w VBA
9.8.  Excel – przykład aplikacji. Analiza 
pomiarów.
9.9.  Excel – przykład aplikacji

background image

2

9.1.  Arkusz kalkulacyjny czy pakiet 
obliczeniowy 

Przyczyny dużej popularności arkuszy kalkulacyjnych wśród inżynierów energetyków:
   procesy energetyczne obejmują dyscypliny, które charakteryzują się wciąż 

niedomkniętymi modelami:
           mechanika płynów – niepewny opis turbulencji;
           spalanie – dla gazów uznane modele tylko dla prostych węglowodorów (CH4) ;
     stąd np. brak w pełni wiarygodnych pakietów  obliczeniowych  3-D.    

   istnieje duża liczba rozwijanych od lat formuł empirycznych (np. wymiany ciepła), które 

łatwo można 
     wykorzystać  w arkuszu kalkulacyjnym;

   wykorzystanie pakietów obliczeniowych 3-D do takich zagadnień jak np. przepływ ze 

spalaniem 
     w kotle energetycznym lub pakietów 0-D do symulacji bloku energetycznego jest 
niezwykle
     skomplikowane i wykonywane raczej w ośrodkach akademickich;

   znaczny koszt licencji komercyjnej popularnych pakietów (np. Fluent)

Nieco inna sytuacja jest w mechanice dysponującej  równaniami teorii sprężystości i 
algorytmami MES.
Tu szeroko stosowane są pakiety obliczeniowe (np. COSMOS/M)

background image

3

9.2. MathCad - cechy

Główne cechy:

  

arkusz kalkulacyjny (WYSIWYG)

   w arkuszu można umieszczać:

       - tekst, 
       - równania matematyczne, 
       - grafikę.

  możliwość korzystania z funkcji:

       - wewnętrznych MathCada,
       - własnych, zdefiniowanych w 
MathCadzie,
       - własnych, przygotowanych  w C

  procedury rozwiązania układu równań 

nieliniowych

  biblioteka funkcji na własności  wody i 

gazów 
  w pliku „thmcad2008v1.dll”

http://fluid.itcmp.pwr.wroc.pl/~zmodl/

Przykład 1

Oblicz moc cieplną grzejnika pokojowego dla danych:

strumień wody:

D

0.05kg sek

1



parametry wlotowe:

t1 65 °C



p1 0.3MPa



parametry wylotowe:

t2 55 °C



p2 0.3MPa



Rozwiązanie:

Q

D i1 i2

=

Q

D h_tp t1 p1



h_tp t2 p2



2.09kW



background image

9.3. MathCad - funkcje

4

   Funkcje własne w 

MathCadzie
      - hermetyzacja kodu

Ar 20.5



Wr 10



Cr 54.2



Hr 3.8



Or 10.04



Nr 1



Sr 0.46



aun 0.90



dash 10



V0 0.0889 Cr 0.375Sr

0.265Hr

0.0333Or

5.506



VO2

( )

1

(

) 0.21

V0



VN2

( )

0.79

 V0

0.008Nr



VCO2

( )

0.01 Cr 0.375Sr

1.866



VH2O

( )

0.111Hr

0.0124Wr

0.0161

 V0



Vsp

( )

VN2

( )

VH2O

( )

VCO2

( )

VO2

( )



rH2O

( )

VH2O

( )

Vsp

( )



rCO2

( )

VCO2

( )

Vsp

( )



ash

( )

0.01Ar

 aun

1 0.01Ar

1.306

 V0



sp

 

 s

 dash



sp

1.3

T

273

r

rH2O

( )

rCO2

( )

kgas

0.78 1.6rH2O

( )

r s

0.1

1 0.37

T

1000





r

kash

4300

sp

ash

( )

3

T2 dash

2

1 exp

kgas kash

s







600

800

1 10

3

1.2 10

3

1.4 10

3

0.5

0.6

0.7

0.8

0.9

sp

1.1



4.5



15



background image

9.4. MathCad - funkcje

5

   rozwiązywanie układu równań nieliniowych

      Given
         f(x,y) = 0
         g(x,y) = 0
      (x,y)=Find(x,y)
   

   metoda  Levenberg-Marquardt

                  Conjugate-Gradient
                  Quasi-Newton   

   własna metoda iteracyjna,

      współczynniki relaksacji

   rozwiązywanie równań różniczkowych zwyczajnych

        

background image

6

9.5.  Excel

  Dodatek (biblioteka funkcji własnych): ThExcel4.xla  ( Excel 2003) , ThExcel5.xlam   

(Excel 2007)

  Instalacja dodatku.

    Umieścić bibliotekę w podkatalogu 

C:\Documents and Settings \zm\Dane Aplikacji\Microsoft\Dodatki

                                                       lub 

C:\Program Files\Microsoft Office\Office12\Library\

    Aktywować przy pomocy:  

Przycisk Office → Opcje Programu Excel → Dodatki →  Przejdź   →  ThExcel5 

 

   Po aktywacji  bibliotek  funkcje (np. h_tp(t,p) ) są dostępne z poziomu arkusza
   Złożone zagadnienia obliczeniowe lepiej zakodować w VBA  (Visual Basic for 

Applications),
     który jest  składnikiem Excel’a.
     Dana aplikacja (w naszym przypadku Excel) jest środowiskiem uruchomieniowym dla 
Basic’a.
     Kod programu napisanego w VBA zawsze zawarty jest w dokumencie utworzonym w 
Excelu.
     VBA nie pozwala na tworzenie samodzielnych skompilowanych aplikacji typu EXE. 

   VBA pozwala w wielu przypadkach napisać aplikację nie ustępującą pod względem 

funkcjonalności 
     programom napisanym przy pomocy takich narzędzi  jak Delphi  czy C++Builder.

background image

7

9.6.  Excel – programowanie w VBA

   Napisać aplikację w VBA obliczającą entalpię wody dla danych: t [

o

C] i p [Mpa]

     Wykorzystać funkcję biblioteczną  h_tp(t,p)

1. Upewnij się czy jest widoczna karta 

Deweloper

 na wstążce.

2. Jeśli nie -  

Przycisk Office → Opcje Programu Excel → Popularne → Pokaż kartę Deweloper na Wstążce 

3. Na arkuszu wstaw tekst „temp1”, „press1”, „enth1” .
4. W komórkach z prawej zdefiniuj nazwy (najlepiej takie same jak tekst obok)

 – wykorzystaj do tego przycisk na karcie 

Formuły.

Operowanie nazwą komórki zamiast jej adresu jest wygodniejsze przy pisaniu kodu

5. Załącz tryb projektowania i wstaw na arkusz przycisk (formant ActiveX)
6. Wywołaj edytor VBA do napisania procedury, która zostanie wykonana po naciśnięciu 

przycisku.

wstawianie 
formantu AciveX 

karta 
„Deweloper”

przycisk

komórki 
danych

komórki 
tekstowe

wstążk
a

komórki wyników

wywołanie
edytora 
VBA

edytor 
VBA

background image

8

9.7.  Excel – programowanie w VBA

1. W edytorze VBA utwórz moduł,  Insert → Module
2. Wypełnij  moduł procedurą o nazwie np. MainProc(). 
3. Opis procedury 

   Option Explicit 

- obowiązkowe deklarowanie zmiennych,

   Option Base 1

- indeksowanie tablic zaczyna się od 1

   Public Sub MainProc() 

- nagłówek funkcji – będziedostępna w innych modułach

   Dim … 

- deklaracje zmiennych 

   . . .
   temp1 = Worksheets("Arkusz1").Range("temp1").Value -   
          odczytanie wartosci z komórki o nazwie „temp1” 
          znajdującej się na arkuszu o nazwie „Arkusz1”
   . . .
   enth1 = h_tp(temp1,press1)
           obliczenie entalpii przy pomocy funkcji bibliotecznej     
   . . . 
   Worksheets("Arkusz1").Range("temp1").Value = enth1 – 
           zapisanie wartosci w komórce o nazwie „temp1” 
           znajdującej się na arkuszu o nazwie „Arkusz1”

4. Należy utworzyć odwołanie do dodatku w którym są funkcje 

biblioteczne:   

Tools  →  References…   →  ThExcel5 

.

5. Jak wywołać funkcję MainProc po naciśnięciu przycisku

wstawionego na arkusz z listy formantów:

- aktywny tryb projektowania
- wykonujemy doubleclick na przycisku – edytor tworzy automatycznie zręby
  procedury CommandButton1_Click() (technologia rapid application 
  development)

6. wpisujemy wywołanie 

Call MainProc

background image

9.8.  Excel – przykład aplikacji.
        Analiza pomiarów

9

background image

9.9.  Excel – przykład aplikacji

10


Document Outline