Bilans bloku energetycznego w elektrociepłowni
![]() |
Program do bilansowania bloku energetycznego w elektrociepłowni. |
1.1. Opis działania programu programu „Bilans”
1.1.1.Uruchomienie
Program „Bilans” napisany jest w Excelu, który z kolei obsługiwany jest przez makra napisane w Visual Basic for Applications. Dla tego na komputerze, na którym chcemy uruchomić program Bilans musi być wcześniej zainstalowany program Microsoft Excel w wersji 97 lub nowszej. Następnie przed uruchomienia programu pierwszy raz należy najpierw przegrać bibliotekę Para.dll do głównego katalogu Windowsa. Biblioteka ta zawiera procedury obliczające parametry pary wodnej i jest ona konieczna do poprawnego działania programu. Aby przegrać bibliotekę Para.dll należy kolejno:
1)włożyć do napędu płytę CD z programem,
2)wybrać Start\Uruchom, następnie wpisać CMD /C COPY X:\BILANS\PARA.DLL Z:\WINDOWS\SYSTEM (gdzie pierwszy X oznacza literę napędu CD, a Z:\WINDOWS ścieżkę dostępu, w której mamy zainstalowanego windowsa) i kliknąć OK.
Następnie w programie EXCEL (zaczynając od wersji Excel 97) należy włączyć obsługę Makr, jeśli nie było to zrobione wcześniej. W tym celu należy postępować zgodnie z opisem:
1)wybrać Start\Uruchom, następnie wpisać EXCEL i kliknąć OK,
2)w oknie Excela uaktywnić pasek Widok\Paski Narzędzi\Visual Basic,
3)na nowo otwartym pasku Visual Basic kliknąć napis Zabezpieczenia…,
4)zaznaczyć zabezpieczenia Średnie i potwierdzić OK.
Aby uruchomić program „Bilans” należy otworzyć w Excelu plik bilans.xls,
a następnie potwierdzić ostrzeżenie o zabezpieczeniach, przez włączenie makr.
1)wybrać Start\Uruchom, następnie wpisać X:\BILANS\BILANS.XLS (gdzie pierwszy X oznacza literę napędu CD)i kliknąć OK.
2)gdy wyskoczy komunikat o zabezpieczeniach, kliknąć na WŁĄCZ MAKRA.
1.1.2.Rozpoczęcie pracy z programem
Po uruchomieniu programu pojawi się okno tytułowe (Rys. 4.1), na którym po wybraniu przycisku Start przechodzimy do okna głównego.
1.1.3.Okno główne
Okno główne (Rys. 4.2) służy do wczytywania danych, rozpoczęcia i zakończenia obliczeń bilansowych.

Rysunek. 4.2. Okno główne.
Aby zaimportować dane należy nacisnąć przycisk Importuj Dane, a następnie wybrać odpowiedni plik. Plik musi być standardowym plikiem Excela, w którym, w pierwszej kolumnie „A” zapisana jest data i godzina pomiaru, natomiast w pierwszym wierszu, skrót z ECKSA nazwy pomiarów. Zapisane w nim wyniki muszą być w następujących jednostkach dla:
- ciśnienie [MPa],
- temperatura [°C],
- przepływ [t/h],
- moc [MW].
Przykładowy plik z danymi znajduje się w X:\Pomiary\DANE_BLOK1_2003.XLS (gdzie pierwszy X oznacza literę napędu CD). Jest to standardowy plik Excela. Zawiera on wykaz średnich wartości godzinowych, najważniejszych wyników pomiarowych z całego bloku. Zakres czasowy obejmuje wyniki z całego roku 2003. Fragment zawartości tego pliku przedstawia rysunku 4.3. Wykaz wszystkich skrótów koniecznych do poprawnego zbilansowania całego bloku, znajduje się w załączniku nr 2.

Rysunek 4.3. Przykładowa część pliku importowanego.
Po zaimportowaniu poprawnie pliku, zostaną uaktywnione paski wyboru i przycisk Rozpoczęcie Bilansowania. Pierwszy rząd pasków wyboru (Rok, Miesiąc, Dzień, Godzina) zostanie uzupełniony przedziałem czasowym zaimportowanych danych i automatycznie ustawiony na czas pierwszego pomiaru. Po zmianie któregokolwiek z tych pasków, obliczanie rozpocznie się właśnie od nowo ustawionej daty i godziny. Na pasku wyboru opisany Skok ustalamy czas (w sekundach), po upływie którego zostanie zbilansowana kolejna godzina pracy bloku, zapisana w zaimportowanym pliku. Standardowo Skok ustawiony jest na 1 sekundę, jednak na wolniejszych komputerach obliczenia bilansowe mogą trwać trochę dłużej, a to z kolei spowoduje znaczne utrudnienia w dalszej obsłudze programu. Staje się tak na skutek tego, że w czasie przeliczania wzorów bilansu przez program, procesor komputera jest w pełni wykorzystywany i nie pozwala na wykonywanie innych czynności. Dlatego zwłaszcza na starszego typu komputerach powinno się na początku trochę wydłużyć czas skoku i ewentualnie później w miarę możliwości go zmniejszać.
Rozpoczęcie obliczeń bilansowych następuje zaraz po kliknięciu przycisku Rozpoczęcie Bilansowania. Powoduje to również zablokowanie z powrotem wyżej opisanych pasków wyboru, zablokowanie przycisku Rozpoczęcie Bilansowania i odblokowanie przycisku Stop. Przycisk Stop służy do wstrzymania obliczeń bilansowych.
1.1.4.Pasek narzędzi

Rysunek 4.4. Pasek narzędziowy.
Pasek narzędziowy (Rys. 4.4), znajdujący się na samej górze programu, służy do przemieszczania się pomiędzy poszczególnymi oknami programu. Kliknięciem w ikonę z zegarem
powoduje otwarcie okna głównego. Ikona z piorunem
otwiera okno ze schematem bloku. Wykres
, okno z wykresami. Następne trzy ikony arkuszy
przenoszą nas po kolei do okien bilansujących poszczególne elementy bloku. Kalkulator
otwiera małe okno służące do obliczania parametrów pary wodnej. Książka
otwiera okno pomocy.
Na pasku narzędziowym znajdują się również dwa białe pola, w których jest zapisywana data: rozpoczęcia i końca obliczeń. Data końca, podczas trwania obliczeń bilansowych, mówi nam również o tym, z której godziny ostatnio dane zostały zbilansowane.
1.1.5.Okno SchematOkno Schemat (Rys. 4.5) przedstawia schemat pomiarowy całego bloku energetycznego, wraz ze zmieniającymi się w czasie bilansowania, głównymi parametrami jego pracy. Parametry, które zostały zaimportowane wcześniej - zapisane są na żółtym tle, na niebieskim tle - parametry obliczone przez program. Ta zasada kolorów tła obowiązuje we wszystkich pozostałych oknach programu.

Rysunek 4.5. Okno schematu.
1.1.6.Okno Wykresów
Przedstawione na rysunku 4.6. okno odpowiedzialne jest za rysowanie dwóch niezależnych wykresów. Każdy z wykresów może maksymalnie rysować przebieg zmian trzech parametrów, których symbole wpisujemy w duże żółte prostokąty. Na wykresie rysowane będą przebiegi tylko tych zmiennych przed którymi zaznaczone będzie pole wyboru. Jeśli po wprowadzeniu skrótu i zaznaczeniu przed nim pola wyboru, zostanie ono automatycznie z powrotem odznaczone, oznaczać to będzie, że wpisany przez nas symbol nie istnieje. Symbole wszystkich obsługiwanych przez program zmiennych znajdują się w Załączniku nr 2.
W razie konieczności możliwa jest również zmiana zakresu na osi rzędnych. Do tego celu służą różowe prostokąty znajdujące w lewym górnym rogu. Skala 1 odpowiedzialna jest za górny wykres, a za dolny - skala 2. W pierwszym różowym prostokącie podajemy dolną granice, a w drugim górną. Na osi odciętych maksymalnie będą rysowane 24 ostatnie wyniki.

Rysunek 4.6. Okno wykresów.
1.1.7.Okna Bilansujące
Są trzy oddzielne okna Bilansujące. Zawierają one wykaz wszystkich bilansowanych elementów bloku. Okno Bilansujące pierwsze zawiera wykaz wszystkich wymienników. Okno Bilansujące drugie (Rys. 4.7), odpowiedzialne jest za całą turbinę. Ostatnie trzecie okno przedstawia pozostałe elementy bloku tj.: kocioł, skraplacz i odgazowywacz.

Rysunek 4.7. Okno Bilansujące Drugie.
Pod każdym rysunkiem bilansowanego elementu, zawierającym również swoje aktualne parametry pracy, znajduje się tabela. Pierwsze wiersze tabeli zawierają dane potrzebne do zbilansowania danego elementu. Kolor tła jasno niebieski oznacza, że jest to dana ale taka, która wcześniej została obliczona. Zaraz po wykazie danych, w kolorze jasno zielonym, są wypisane stałe. Ostatnie wiersze tabeli to wyniki.
Każda tabela zawiera również kolumnę zatytułowaną Test. W tej kolumnie możemy wprowadzić dane ręcznie, dane te zostaną od razu po wprowadzeniu przeliczone.
1.1.8.Kalkulator
Okno Kalkulatora (Rys 4.8) służy do obliczeń parametrów wody i suchej pary wodnej. Po wprowadzeniu ciśnienia i temperatury oblicza entalpię, entropię i objętość. Po wprowadzeniu tylko jednego parametru (ciśnienia lub temperatury), oblicza parametry nasycenia: wody dla zaznaczonego stopnia suchości x = 0, pary suchej dla x = 1.

Rysunek 4.8. Okno kalkulatora.
1.1.9.Okno pomocy
Wszelkie niezbędne informacje na temat autora jak również działania programu znajdują się w oknie pomocy (Rys 4.9). Zawiera ono także odnośnik do tabeli spisu zmiennych (Tab. 6.1). Zmiana jakiegokolwiek parametru w tej tabeli, zostaje zaaprobowana również przez program. Przykładowo jak zmienimy skrót przypisany jakiejś zmiennej, program od tego momentu będzie wyszukiwał ten nowo wpisany skrót w pliku importowanym. Zmiany jakiegoś opisu w tej tabeli programu, spowodują zmiany opisu danej zmiennej w wszystkich pozostałych oknach programu.

Rysunek 4.9. Okno pomocy.
Najważniejsze makra

Odpowiedzialne za obsługę i działanie programu „Bilans” są makra napisane w Visual Basic for Applications. Podzielone są one na trzy główne grupy.
· Microsoft Excel Objekts – należą tu makra odpowiedzialne za wygląd poszczególnych arkuszy Excela. Poszczególne arkusze Excela to nasze duże okna programu „Bilans”.
· Forms – przechowuje zarówno wygląd jak i makra obsługujące trzy mniejsze okna programu. Pierwszym z nich jest okno „O programie” zapisane w formie AboutForm. BledyForm – okno przechowujące ewentualne błędy programu. ObliczForm – okno kalkulatora.
· Module – są najobszerniejszą grupą makr, odpowiedzialnych za działanie i obliczenia bilansowe naszego programu. Tu znajdują się również poszczególne powtarzające się makra wykorzystywane we wcześniej wymienionych grupach. Ze względu na przeznaczenie moduły podzielone są na 4 podgrupy szczegółowo opisane w poniższych podrozdziałach.
1.1.10.Modules Obsluga_Okien
Modules Obsluga_Okien zawiera makra odpowiedzialne za obsługę okien. Kilka z nich jest najważniejszych.
- Otworz() – makro wykonuje się na samym początku, w trakcie uruchamiania programu. Przystosowuje ono ogólny wygląd Excela wykorzystując inne procedury: PaskiNarzedzi() usuwające standardowe paski Excela. UtworzMyMenu() tworzy jeden własny pasek pokazany na rysunku 5.4.
- Zamknij() – przywraca pierwotny stan pasków narzędziowych Excela za pomocą PaskiNarzedzi() i UsunMyMenu().
- Przywroc() – przywraca standardowy układ i wygląd Excela. Usuwa zaimportowany plik, jeśli został wcześniej wczytany. Można je uruchomić skrótem klawiszowym Carl + z. Dopiero po jego uruchomieniu możliwe są ewentualne zmiany wyglądu okien.
1.1.11.Modules Obsługa_Programu
Ta podgrupa zawiera zestaw makr odpowiedzialnych za import danych, uzupełnienie i obsługę komponentów, włącznie z paskiem narzędziowym.
- ImportujDane() – odpowiedzialna za import danych z wybranego przez nas pliku i uzupełnienie wszystkich pasków wyboru programu Bilans. Wykorzystując sekwencyjnie procedury: UzupelnijRok(), UzupelnijMiesiac(Rok), UzupelnijDzien(Miesiac), UzupelnijGodzine(Dzi)
- StartZegar(skok) – w zależności od skoku, uruchamia cykliczne obliczenia bilansowe. Makro Bilans() uruchamiane jest co określoną (zmienna skok) liczbę sekund.
- StopZegar() – zatrzymuje obliczenia bilansowe.
- Function PelnaNazwa(Skrot) – wynikiem tej funkcji jest pełny opis zmiennej o podanym skrócie. Szukane skróty wraz z opisami znajdują się w załączniku nr 2 i tabeli zmiennych programu.
1.1.12.Modules Obliczenia_Bilansujące
Modules Obliczenia_Bilansujące odpowiedzialny jest za przebieg obliczeń bilansowych. Zaczyna się on od zadeklarowania dwóch tablic KolumnaZmienne i DanaSzukana. Obie tablice składają się z 120 wierszy i 5 kolumn. Każdej kratce (numerowi w obu tablicach) przyporządkowana jest jedna zmienna. Której zmiennej przypada jaki wiersz i kolumna w tablicach napisane jest w załączniku nr 2. W pierwszej tablicy KolumnaZmienne zapisane są numery kolumny występowania zmiennej w arkuszach Import (dane zaimportowane) i Export (dane obliczone). Natomiast druga tablica DanaSzukana jest typu Boolean (True lub False). Jeśli w danej kratce zapisana jest prawda (True) oznacza to, że dana zmienna jest importowana. Jeśli zapisany jest fałsz (False) oznacza to, że zmienna jest obliczana. Np. gdy KolumnaZmienne(1,5) = 2 i DanaSzukana(1,5) = True, to Moc Nz (wiersz 1, kolumna 5) jest pobierana z drugiej kolumny arkusza zaimportowanego (Input). Dzięki tym dwóm tablicom nie jest ważna kolejność zapisanych danych w importowanych plikach. Możliwa też jest w prosty sposób ewentualna zmiana każdej danej na szukaną i odwrotnie. Aby dokonać takiej zmiany należy:
·dla tej określonej zmiennej poprawić wiersz w tablicy zmiennych programu,
·w Module Obliczenia_Bilansujące przerobić makro odpowiadające za obliczenie danego elementu bloku energetycznego, dla którego zmienił się model obliczeń,
·w Module Wzory_Obliczeniowe wpisać nowe makro zawierające nowy wzór obliczeniowy.
Poniżej przedstawiono najważniejsze maka w Modules Obliczenia_Bilansujące.
- Bilans() – jest to główne makro odpowiedzialne za przebieg i kolejność obliczeń bilansowych. Na samym początku uzupełnia paski komponentów aktualnie bilansowaną datą i godziną. Przygotowuje arkusz Output – arkusz z wynikami obliczeń. Wywołuje kolejno makra bilansujące poszczególne elementy bloku energetycznego. Kolejność ta jest taka sama jak kolejność przykładowego bilansu załączonego w załączniku nr 1.
- Kociol() Rys. (4.9), WymiennikXW3(), WymiennikXW2(), WymiennikXW1(), XAXB(), Odgazowywacz(), XN1XN2(), Przecieki(), Turbiny(), Entalpia26(), Skraplacz(), CT1CT2(), Cieplo(), SprawnosciTurbin() – są to makra bilansujące poszczególne elementy bloku. Na początku każdego z nich pobierane są dane potrzebną do obliczeń za pomocą funkcji Odczyt(dana). Następnie uruchamiane zostają funkcje (np. MasaStrat(m19, m33), Masa58(m1, mstr)) przeliczające poszczególne zmienne i funkcja Uzupełnienie(Nazwa, war) zapisująca wyniki w arkuszu Output.

Rysunek 4.9. Marko bilansujące kocioł.
- Wartosc(Nazwa, czas) – jest to funkcja wykorzystywana bezpośrednio w kratkach arkuszy (oknach naszego programu). Jej wynikiem jest wartość danej nazwy zmiennej, odczytywana po zmianie czasu.
- Odszyfr(Nazwa, wiersz, kolumna) – funkcja zmiennej zapisanej w Nazwa przyporządkowuje wiersz i kolumnę w tabel KolumnaZmienn.
- Wykres() – jest to makro odpowiedzialne za rysowanie wykresów w oknie Wykresy programu Bilans.
1.1.13.Modules Wzory_Obliczeniowe
Ten ostatni Moduł składa się z krótkich makr zawierających wzory obliczeniowe. Tu znajdują się makra wykorzystujące bibliotekę PARA.DLL (angielskie Dynamic Link Library) przeliczającą parametry pary wodnej. Na podstawie ciśnienia, temperatury oraz stopnia suchości przeliczana jest entropia - GetS(p, t, x), entalpia - GetHa(p, t, x) i objętość - GetVa(p, t, x). Makro GetPs(t) oblicza ciśnienie nasycenia przy danej temperaturze, GetPs(p) oblicza temperaturę nasycenia przy danym ciśnieniu.
W tym module znajdują się także wszystkie funkcje obliczające zmienne szukane. Taką przykładową funkcją jest MasaStrat(m19, m33) obliczająca na podstawie dwóch danych m19 i m33 masę strat (Rys 4.10.).

Rysunek 4.10. Funkcja obliczająca zmienną mstr.
Cena udostępnienia kodu źródłowego programu "Bilans" wynosi 300 zł netto.




