Нестационарная теплопроводность / Магистры Термодинамическое подобие / Программы / Solkane / 2012 / Ref_Cal_7 / SOL_VB6 / HilfVBD
.pdfSOLVAY
FLUOR UND DERIVATE GMBH
SOLKANE
Stoffdatenmodul
Visual Basic
Version 2.0 09/99
Postfach 220 |
Telefon: |
0511/857-0 |
D-30002 Hannover |
Telefax: |
0511/857-21 66 |
Hans-Böckler-Allee 20 |
E-mail: |
andrea.neubert@solvay.com |
D-30173 Hannover |
Internet: |
http://www.solvay.com |
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Formelzeichen, Abkürzungen und Begriffe
Formelzeichen
Formel- |
Maß- |
Erläuterung |
zeichen |
einheit |
|
|
|
|
c |
J/(kg K) |
Spezifische Wärmekapazität |
h |
J/kg |
Spezifische Enthalpie |
M |
g/mol |
Molare Masse |
p |
Pa |
Druck |
s |
J/(kg K) |
Spezifische Entropie |
T |
K |
Temperatur |
v |
m³/kg |
Spezifisches Volumen |
w |
m/s |
Schallgeschwindigkeit |
κ |
- |
Adiabatenexponent |
λ |
W/(m K) |
Wärmeleitfähigkeit |
η |
Pa s |
Dynamische Viskosität |
σ |
N/m |
Oberflächenspannung |
Abkürzungen und Begriffe
Indizes Erläuterung
c Kritischer Punkt p p = const.
v v = const.
‘ Gesätt. Flüssigk., Siedepunkt ‘’ Gesättigter Dampf, Taupunkt
B, b: |
Siedepunkt (Bubble point) |
D, d: |
Taupunkt (Dew point) |
DLL: |
Dynamic Link Library |
Exportroutine: |
In einer DLL implementierte Prozedur oder Funktion, die von dieser DLL |
|
exportiert wird. |
F: |
Flüssige Phase |
G: |
Gasphase |
Importroutine: |
Prozedur oder Funktion, die extern in einer DLL implementiert ist und von |
|
einem Anwenderprogramm aufgerufen wird. |
IPar_: |
Formaler Eingabeparameter. |
Primärfunktion: |
Privat deklarierte Importroutine in einem VBA-Modul |
Refr, ref: |
Formaler Parameter zur Übergabe einer Kältemittelbezeichnung. |
RPar: |
Formaler Parameter, in dem das Ergebnis einer Berechnung übergeben |
|
wird. |
Sekundärfunktion: In einem VBA-Modul implementierte Funktion, die eine Primärfunktion
|
aufruft. |
S_Name |
Platzhalter für einen Funktionsnamen. |
VB |
Visual Basic |
VBA |
Visual Basic for Applications |
-2-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Über diese Broschüre
Diese Broschüre wendet sich an jene, die das Herzstück unseres SOLKANE-Programms für Kältemittel - das Modul zur Berechnung thermodynamischer Stoffdaten - in eigenen Windows-Programmen einsetzen möchten.
Seit wir das SOLKANE-Programm als eine moderne Form der Produktinformation über Kältemittel an unsere Kunden weitergeben, haben bereits zahlreiche Interessenten von dieser Möglichkeit Gebrauch gemacht. Allerdings hat die Praxis gezeigt, daß es selbst versierten Programmierern unter Umständen nicht sofort gelingt, das Stoffdaten-Modul in eigene Programme einzubinden. Simple Tippfehler, Portabilitätsprobleme bei unterschiedlichen Entwicklungsplattformen und falsch eingesetzte Funktionen können viel Zeit, Geld und Nerven kosten.
Mit der vorliegenden Broschüre wollen wir einige Erfahrungen weitergeben, die mit dem Einsatz unseres Stoffdatenmoduls in verschiedenen Entwicklungsplattformen gesammelt wurden. Im Vordergrund stehen dabei einfache und leicht nachvollziehbare Methoden. Aus diesem Grunde sind die Erläuterungen bewußt auf relativ einfach handhabbare statische Importmethoden beschränkt.
Im ersten Teil der Broschüre finden Sie Anleitungen und Beispiele zum Import der Stoffdatenfunktionen in Ihre Programme. Ausführliche Funktionsbeschreibungen und Quelltexte sind im Anhang zusammengestellt. Alle Quelltexte und Beispielprogramme sind auch in Form von Dateien auf dem beiliegenden Datenträger enthalten. Dazu gehört auch ein Add-In ”SOLKANE.XLA” für EXCEL 7 (und höher), das Sie sofort einsetzen können.
Es ist kaum möglich, die große Anzahl verschiedener Programmiersprachen (und versionsspezifischer Unterschiede) in ganzer Breite zu berücksichtigen. In dieser ersten Auflage sind Beispiele für die Programmiersprachen
•Delphi , Version 2 bis 4
•MS Visual Basic, Version 6.0
•Visual Basic for Applications (EXCEL 7)
enthalten. Es ist beabsichtigt, nach und nach auch weitere Programmiersprachen einzubeziehen.
Alle Beispiele befassen sich mit der 32-Bit-Version des Stoffdatenmoduls. Auf Unterschiede zwischen der 16und der 32-Bit-Version wird im Text hingewiesen.
-3-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Das SOLKANE-Stoffdatenmodul
Funktionen thermischer Eigenschaften
Das SOLKANE-Stoffdatenmodul stellt Stoffdatenfunktionen aller wesentlichen thermischen
Eigenschaften von Kältemitteln für
•die flüssige Phase,
•die Gasphase
•sowie Sättigungstemperatur und -druck am Siedeund Taupunkt
im kältetechnisch wichtigen Zustandsbereich (i.allg. p < pC) zur Verfügung (siehe Anhang). Im einzelnen sind dies Funktionen folgender Eigenschaften:
1. |
Siedeund Taupunktdruck: |
p’ = f(T) und p” = f(T) |
2. |
Siedeund Taupunkttemperatur: |
T’ = f(p) und T” = f(p) |
3. |
Spezifisches Volumen, Flüssigkeit: |
v’ = f(T) |
4. |
Druck, Gasphase: |
p = f(T, v) |
5. |
Spezifisches Volumen, Gasphase: |
v = f(p, T) |
6. |
Temperatur, Gasphase: |
T = f(p, v), T = f(p, h) und T = f(p, s) |
7. |
Spezifische Enthalpie, Flüssigkeit: |
h’ = f(T) |
8. |
Spezifische Enthalpie, Gasphase: |
h = f(T, v) und h = f(T, p) |
9. |
Spezifische Entropie, Flüssigkeit: |
s’ = f(T) |
10. Spezifische Entropie, Gasphase: |
s = f(T, v) und s = f(T, p) |
|
11. Spez. Wärmekapazität, Flüssigkeit: |
c’ = f(T) |
|
12. Spez. Wärmekapazität, Gasphase (p=const.): |
cp = f(T, v) und cp = f(T, p) |
|
13. Spez. Wärmekapazität, Gasphase (v=const.): |
cv = f(T, v) und cv = f(T, p) |
|
14. Adiabatenexponent, Gasphase: |
κ = f(T, v) und κ = f(T, p) |
|
15. Schallgeschwindigkeit, Gasphase: |
w = f(T, v) und w = f(T, p) |
|
16. Wärmeleitfähigkeit, Flüssigkeit: |
λ‘ = f(T) |
|
17. Wärmeleitfähigkeit, Gasphase: |
λ = f(T, p) |
|
18. Dynamische Viskosität, Flüssigkeit: |
η‘ = f(T) |
|
19. Dynamische Viskosität, Gasphase: |
η = f(T, p) |
|
20. Oberflächenspannung: |
σ = f(T) |
21. Charakteristische Daten (Molare Masse, kritische Temperatur, kritischer Druck, ...)
-4-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Bild 1: Druck-Enthalpie-Diagramm für zeotropes Kältemittelgemisch (schematisch)
T’(p) und T”(p) wiedergegeben.
Die Eigenschaften der Gasphase, einschließlich der Taulinie, können entweder als Funktion f(T,p) oder f(T,v) berechnet werden.
Die Flüssigkeit wird innerhalb des interessierenden Zustandsbereichs als inkompressibel angesehen. Aus diesem Grunde werden Eigenschaften der flüssigen Phase nur als Funktion der Temperatur dargestellt.
Die Sättigungsdrücke bzw. Sättigungstemperaturen am Siedeund Taupunkt werden durch spezielle Funktionen p’(T), p”(T),
Für einkomponentige Kältemittel (z.B. R134a) oder azeotrope Gemische (z.B. R507) gilt p’(T) = p”(T) und T’(p) = T”(p). Wie Bild 1 zeigt, gilt hingegen bei zeotropen Gemischen (z.B. R407C) p’(T) > p”(T) und T’(p) < T”(p). Auf diesen Sachverhalt sei hier besonders hingewiesen, da er eine häufige Fehlerquelle darstellt.
Eine Sonderrolle spielen die nur für die Gasphase gültigen Funktionen T(p,s) und T(p,h). Sie können insbesondere bei der Berechnung von Verdichtungsprozessen sehr effektiv eingesetzt werden.
Struktur
Das SOLKANE-Stoffdatenmodul für 32-Bit-Applikationen besteht aus zwei DLLs (Dynamic Link Libraries) - REF_CALC32.DLL und VAR_LIB32.DLL.
Das Schema in Bild 2 zeigt die prinzipielle Struktur eines Programmes, das mit dem SOLKANE Stoffdatenmodul verbunden ist.
-5-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Bild 2: Grundstruktur eines Programmes mit dem SOLKANE-Stoffdatenmodul
In VAR_LIB32.DLL sind die eigentlichen Stoffdatenroutinen enthalten. Die DLL REF_CALC32 stellt eine Schnittstelle zum Anwenderprogramm dar. Sie exportiert die benötigten Stoffdatenfunktionen an das Anwenderprogramm und organisiert intern den Zugriff auf VAR_LIB32.DLL.
Für das Anwenderprogramm ist REF_CALC32.DLL stets das ”aktive” Modul. Es bleibt dem Anwender (bzw. dem Anwenderprogramm) überlassen, wie der Zugriff auf REF_CALC32.DLL organisiert wird. Der Zugriff ist am einfachsten realisierbar, wenn sich REF_CALC32.DLL im gleichen Ordner wie das ausführbare Programm oder im Windows- System-Verzeichnis befindet, da das ausführbare Programm automatisch an diesen Positionen nach der DLL sucht.
Weiterhin muß sichergestellt sein, daß die DLL REF_CALC32 auf VAR_LIB32 zugreifen kann. Grundsätzlich sollten sich daher beide DLLs im gleichen Ordner befinden.
Das SOLKANE-Stoffdatenmodul für 16-Bit-Applikationen besteht aus den Komponenten REF_CALC.DLL und VAR_LIB.DLL.
Allgemeine Syntax der Stoffdatenfunktionen
Das SOLKANE-Stoffdatenmodul ist in BORLAND DELPHI® erstellt. In REF_CALC32.DLL werden insgesamt 34 Funktionen (Exportroutinen) thermodynamischer Eigenschaften und Transportgrößen bereitgestellt. Die allgemeine Syntax dieser Funktionen lautet:
Function S_Name(Refr [;IPar_1] [;IPar_2] ; RPar)
Die Funktionen S_Revision (sieheAnhang) ist die einzige Ausnahme von dieser Regel.
Funktionsname:
Name ist ein Platzhalter für einen Funktionsbezeichner. Der komplette Funktionsname wird aus dem Bezeichner und einer vorangestellten Zeichenkette S_ gebildet.
Eingabedaten:
Refr: Null terminierter String, enthält Kältemittelbezeichnung (z.B. ‘R134a’, ‘R407C’, ...)
-6-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
IPar_n: 8 Byte Gleitkomma, enthält unabhängige Parameter (z.B. Druck, Temperatur usw.)
Die Anzahl der Eingabedaten hängt von dem jeweiligen Problem ab.
Ausgabedaten:
RPar: 8 Byte Gleitkomma, gibt Ergebnis der Berechnung zurück (abhängiger Parameter). RPar ist im allgemeinen der letzte Parameter der Parameterliste.
Rückgabewert der Funktion:
2 Byte boolescher Parameter. Der Rückgabewert der Funktion ist der Fehlerstatus der Berechnung:
TRUE (1) : Ein Fehler ist aufgetreten.
FALSE (0) : Es ist kein Fehler (!!) aufgetreten.
Die Eingabedaten sind per Wertkopie, die Ausgabedaten per Referenz zu übergeben.
Für jede thermodynamische Eigenschaft oder Transportgröße ist eine eigene Funktion vorhanden.
Funktionsimport aus dem SOLKANE Stoffdatenmodul
Visual Basic
Grundsätze
1.Das Anwenderprogramm muß Zugriff auf die DLLs REF_CALC32 und VAR_LIB32 haben. Beide DLLs sollten sich deshalb im gleichen Ordner wie das Anwenderprogramm oder im Windows-System-Verzeichnis befinden.
2.Die zu importierenden Funktionen (Importroutinen) sind im Anwenderprogramm zu vereinbaren.
3.Die im Anwenderprogramm vereinbarte Importroutine muß an Hand des Funktionsnamens eindeutig auf eine in REF_CALC32.DLL implementierte Funktion (Exportroutine) weisen. Achtung! Groß-/Kleinschreibung beachten!
4.Die in den Importroutinen deklarierten Parametertypen müssen mit denen der Exportroutinen in REF_CALC32.DLL kompatibel sein.
5.Importund Exportroutinen müssen hinsichtlich der vereinbarten Art der Parameterübergabe (per Wert oder per Referenz) übereinstimmen.
-7-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Der Anhang enthält eine komplette Zusammenstellung aller für VB gültigen
Funktionsvereinbarungen.
Ein Listing der Importvereinbarungen aller von REF_CALC32.DLL bereitgestellten Funktionen ist im Anhang enthalten.
Im beigefügten Modul ImportVB6.bas sind die Importvereinbarungen aller von REF_CALC32.DLL bereitgestellten Funktionen komplett implementiert.
Syntax
Für die Vereinbarung der Importroutinen gilt folgende allgemeine Syntax:
[Private] Declare Function S_name Lib "REF_CALC32.DLL" _
(ByVal Refr As String [,ByVal IPar_1 As Double][,ByVal IPar_2 As Double],
_
ByRef RPar As Double) As Boolean;
Hinweis: Die obige Syntax ist ein Beispiel für den statischen Import von Funktionen.
Parametertypen
Folgende Parametertypen sind bezüglich der vom SOLKANE-Stoffdatenmodul bereitgestellten Exportroutinen in VB zuweisungskompatibel.
• |
Nullterminierter String: |
String |
|
• |
8 |
Byte Gleitkommazahl: |
Double; |
• |
2 |
Byte Boolean: |
Boolean (Werte: true und false) oder |
Integertypen (z.B. Byte, Integer; Werte: 0 und 1)
Die Schlüsselworte ”ByVal” (Wert) und ”ByRef” (Referenz) definieren die Übergabeart. Das Ergebnis der Berechnung ist jeweils per Referenz zu übergeben.
Beispiel
Für das Kältemittel sollen die Verdichtungsendtemperatur tV2 (in °C) und die spezifische Verdichtungsarbeit wt (in kJ/kg) eines theoretischen Verdichtungsprozesses bei folgenden Bedingungen berechnet werden:
•Verdampfungstemperatur: 0°C;
•Kondensationstempertur: 45°C;
• |
Sauggasüberhitzung: |
20 K; |
• |
isentroper Gütegrad: |
0,7 |
-8-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Dieses Beispiel demonstriert insbesondere den Nutzen der Funktionen S_f_entro und S_f_entha.
Implementation:
'Schritt 1: Vereinbarung der Importroutinen
'Funktion Nr. 7: Taupunktdruck
Private |
Declare Function S_p_d |
Lib |
"REF_CALC32.DLL" (ByVal Refr As String, |
|
_ |
|
|
|
|
ByVal T |
As Double, ByRef p_d As Double) As Boolean |
|||
' Funktion Nr. 15: Enthalpie, Gasphase |
|
|||
Private |
Declare Function S_h_v Lib "REF_CALC32.DLL" (ByVal Refr As String, |
|||
_ |
|
|
|
|
ByVal T |
As Double, ByVal p As Double, ByRef h_v As Double) As Boolean |
|||
' Funktion Nr. 18: Entropie, Gasphase |
|
|||
Private |
Declare Function S_s_v Lib "REF_CALC32.DLL" (ByVal Refr As String, |
|||
_ |
|
|
|
|
ByVal T |
As Double, ByVal p As Double, ByRef s_v As Double) As Boolean |
|||
' Funktion Nr. 20: Temperatur T=f(p,s), Gasphase |
||||
Private |
Declare Function S_f_entro Lib "REF_CALC32.DLL" (ByVal Refr As |
|||
String, |
_ |
|
|
|
ByVal p |
As Double, ByVal s As Double, ByRef f_entro As Double) As Boolean |
|||
' Funktion Nr. 21: Temperatur T=f(p,h), Gasphase |
||||
Private |
Declare Function S_f_entha Lib "REF_CALC32.DLL" (ByVal Refr As |
|||
String, |
_ |
|
|
|
ByVal p |
As Double, ByVal h As Double, ByRef f_entha As Double) As Boolean |
|||
' Schritt 2: Implementation Berechnung (Auszug) |
||||
Private |
Sub CalcProcess() |
|
|
|
Dim T0, TC, p0, pC, TV1, hV1, sV1, _ |
|
|||
TV2_is, hV2_is, TV2, hV2, wt, Eta_is As Double |
||||
Dim Retur As Boolean |
|
|
|
|
Dim Refr As String |
|
|
' Parameterdeklaration |
|
Refr = "R134a" |
|
|
' Vorgabe Kältemittel |
|
Eta_is = 0.7 |
|
|
' Vorgabe isentroper Gütegrad |
|
T0 = 0 + 273.15 |
|
|
' Vorgabe Verdampfungstemperatur T0 [K] |
|
TC = 45 + 273.15 |
|
|
' Vorgabe Kondensationstemperatur TC [K] |
|
TV1 = |
20 + T0 |
|
|
' Vorgabe Ansaugtemperatur TV1 [K] |
Retur |
= S_p_d(Refr, T0, p0) |
|
|
'Saugdruck p0 [Pa] |
Retur |
= S_p_d(Refr, TC, pC) |
|
|
'Gegendruck pC [Pa] |
Retur |
= S_h_v(Refr, TV1, p0, hV1) |
|
'Enthalpie hV1 [J/kg], Sauggas |
|
Retur |
= S_s_v(Refr, TV1, p0, sV1) |
|
'Entropie sV1 [J/kgK], Sauggas |
|
Retur |
= S_f_entro(Refr, pC, sV1, TV2_is) |
|||
|
|
'Isentrope Verdichtungsendtemperatur TV2_is [K] |
||
Retur |
= S_h_v(Refr, TV2_is, pC, hV2_is) |
|||
|
'Enthalpie bei isentroper Verdichtung hV2_is [J/kg] |
|||
wt = (hV2_is - hV1) / Eta_is |
|
|
'Spezifische Verdichterarbeit wt [J/kg] |
|
hV2 = |
hV1 + wt |
|
'Enthalpie am Verdichtungsendpunkt hV2 [J/kg] |
|
Retur |
= S_f_entha(Refr, pC, hV2, TV2) |
'Verdichtungsendtemperatur TV2 [K] |
||
' Maßeinheitenumrechnung |
|
|
|
|
TV2 = |
TV2 - 273.15 |
|
|
'Verdichtungsendtemperatur TV2 [°C] |
wt = wt / 1000 |
|
'Spezifische Verdichtungsarbeit wt [kJ/kg] |
||
... |
|
|
|
|
' Ergebnisausgabe |
|
|
|
|
... |
|
|
|
|
End Sub |
|
|
|
|
Ergebnis: |
tV2 = 79,7 °C |
wt = 45,1 kJ/kg |
-9-
SOLVAY FLUOR UND DERIVATE GmbH |
|
SOLKANE® Stoffdatenmodul |
Visual Basic6.0 |
Visual-Basic-Beispielprojekt ”SOL_VB6”
Das unter Microsoft Visual Basic 6.0 erstellte Projekt SOL_VB6 zeigt anhand von Beispielen, wie die Funktionen des SOLKANE-Moduls in einer VB-Entwicklungsumgebung eingesetzt werden.
Das gesamte Projekt besteht aus folgenden Dateien:
1. |
Sol_vb6.vbp, Sol_vb6.vbw: |
VB6-Projektdateien |
|
2. |
Form1.frm, Form1.frx: |
Formulardateien |
|
3. |
ImportVB6.bas |
VB-Modul mit |
Vereinbarungen der externen |
|
Funktionen |
|
|
4. |
Sol_VB6.exe |
Ausführbare Programmdatei |
Die DLLs REF_CALC32 und VAR_LIB32 sollten entweder in den Projektordner oder in das Windows-System-Verzeichnis kopiert werden.
Achtung! Sol_VB6.exe benötigt zusätzlich die DLLs Msvbvm60.dll und Oleaut32.dll. Beide sind verteilbare Bestandteile der Microsoft VB6-Entwicklungsumgebung, haben aber keine unmittelbar Bedeutung für die Funktionstüchtigkeit des SOLKANEModuls. Wenden Sie sich bitte an uns, falls Sie diese Dateien benötigen.
Das aus dem Sol_VB6-Projekt erstellte ausführbare Programm Sol_VB6.exe können Sie selbstverständlich auch für einen ausführlichen Test des SOLKANE-Moduls nutzen.
Mit Hilfe der beiden Auswahlboxen
”Refrigerant” und ”Function” (siehe Bild 3) wählen Sie Kältemittel und Zustandsfunktion aus. Die jeweils gewünschten Eingabedaten sind in die Editierfelder ”Temperature” bis ”Entropy” einzutragen. ”Calculate” löst die Berechnung aus. Das Ergebnis wird im Feld ”Result” dargestellt. Das Feld
”Error” gibt den Fehlerstatus der letzten Berechnung an (FALSE bedeutet ”kein Fehler” !!).
-10-