Скачиваний:
44
Добавлен:
25.04.2015
Размер:
297.69 Кб
Скачать

SOLVAY

FLUOR

SOLKANE®

Excel - Stoffdatenmodul

Version: 6.0 10/07

SOLVAY FLUOR GmbH

Anwendungstechnik - Kältemittel -

Produktinformation Nr.: I/10.07/20/D

P.O. Box 220

Phone

+49/511/857-2653

30002 Hannover

Fax

+49/511/857-2166

Hans-Boeckler-Allee 20

E-Mail

refrigerants@solvay.com

30173 Hannover / Germany

Internet:

www.solvay-fluor.com

SOLVAY FLUOR GmbH Excel/VBA

FORMELZEICHEN, ABKÜRZUNGEN UND BEGRIFFE

Formelzeichen

Formel-

Maß-

Erläuterung

 

 

Indizes

 

Erläuterung

zeichen

einheit

 

 

 

 

 

 

c

J/(kg K)

Spezifische Wärmekapazität

 

 

c

 

Kritischer Punkt

h

J/kg

Spezifische Enthalpie

 

 

p

 

p = const.

M

g/mol

Molare Masse

 

 

v

 

v = const.

p

Pa

Druck

 

 

 

Gesätt. Flüssigk., Siedepunkt

s

J/(kg K)

Spezifische Entropie

 

 

‘’

 

Gesättigter Dampf, Taupunkt

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

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

SFLU-AK I/10.07/20/D

-2-

SOLVAY FLUOR GmbH

Excel/VBA

Ü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, dass 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 bewusst 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 Datenträger SOLKANE® Software 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.

SFLU-AK I/10.07/20/D

-3-

SOLVAY FLUOR GmbH

Excel/VBA

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. 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, ...)

SFLU-AK I/10.07/20/D

-4-

SOLVAY FLUOR GmbH

Excel/VBA

Bild 1: Druck-Enthalpie-Diagramm für ein zeotropes Kältemittelgemisch (schematisch)

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), T’(p) und T”(p) wiedergegeben.

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.

Bild 2: Grundstruktur eines Programmes mit dem SOLKANE®-Stoffdatenmodul

SFLU-AK I/10.07/20/D

-5-

SOLVAY FLUOR GmbH

Excel/VBA

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 muss sichergestellt sein, dass die DLL REF_CALC32 auf VAR_LIB32 zugreifen kann. Grundsätzlich sollten sich daher beide DLLs im gleichen Ordner befinden.

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 (siehe Anhang) 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’, ...) 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.

SFLU-AK I/10.07/20/D

-6-

SOLVAY FLUOR GmbH

Excel/VBA

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.

VBA/ EXCEL

Grundsätze

VBA (Visual Basic for Applications) ist die Makro-Programmiersprache des Microsoft-Office- Pakets. Mit Hilfe von VBA-Makros ist es unter EXCEL 7 (und höher) auch möglich, auf das SOLKANE®-Stoffdatenmodul zuzugreifen und dessen Funktionen in MS EXCEL zu nutzen. Die Importroutinen sind in Visual-Basic-Modulen innerhalb von EXCEL-Arbeitsmappen zu deklarieren.

Alternativ ist es möglich, entsprechende Add-Ins in MS EXCEL zu laden. Add-Ins können beispielsweise kompilierte Fassungen solcher Makro-Arbeitsblätter sein.

Hinsichtlich der Vereinbarung von Importroutinen in VBA-Makro-Arbeitsblättern bestehen keine wesentlichen Unterschiede zu den in Visual Basic 6.0 dargelegten Methoden. Allerdings sind die nachfolgend beschriebenen Ergänzungen notwendig, um zu sinnvollen Makros zu gelangen:

1.Damit das Ergebnis einer Berechnung in einer Zelle eines EXCEL-Arbeitsblattes wiedergegeben werden kann, muss der Rückgabewert der Funktion das Ergebnis der Berechnung sein. Der Rückgabewert der Funktionen des SOLKANE®-Moduls ist jedoch nur der Fehlerstatus der Berechnung. Die (primären) SOLKANE®-Funktionen können daher nicht direkt in einem EXCEL-Arbeitsblatt aufgerufen werden.

2.Es sind sekundäre Funktionen zu implementieren, die intern die jeweils gewünschte primäre Funktion aufrufen. Das Ergebnis der Berechnung ist dem Namen der sekundären Funktion zuzuweisen.

3.Die Namen der sekundären Funktionen sind frei wählbar. Sie müssen sich aber von den Namen der primären Funktionen unterscheiden.

4.Die Eingabeparameter der sekundären Funktionen sind per Wertkopie (ByVal) zu übergeben.

5.Die primären Funktionen haben für den Anwender keine unmittelbare Bedeutung. Sie sollten daher als ”Private” vereinbart werden, um sie nach außen zu verbergen.

SFLU-AK I/10.07/20/D

-7-

SOLVAY FLUOR GmbH

Excel/VBA

)Der Anhang enthält eine Übersicht der vom Add-In SOLKANE.XLA bereitgestellten (sekundären) Funktionen. Die Funktionen sind nach den obigen Regeln aufgestellt. Der Vorsatz ”S_” der SOLKANE®-Funktionen ist in den Sekundärfunktionen durch ”X_” ersetzt.

)Ein Listing der Importvereinbarungen aller von REF_CALC32.DLL bereitgestellten Funktionen sowie entsprechender sekundärer Funktionen ist im enthalten.

)Im Arbeitsblatt ImportVBA der EXCEL-Arbeitsmappe SOL_EX.XLS sind alle via REF_CALC32.DLL verfügbaren Funktionen komplett implementiert. Das Add-In SOLKANE.XLA ist eine kompilierte Fassung dieses Arbeitsblattes.

Syntax

1. Vereinbarung der (primären) Importroutinen:

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;

2. Vereinbarung sekundärer Funktionen:

Declare Function myName (ByVal Refr As String _

[,ByVal IPar_1 As Double][,ByVal IPar_2 As Double]) As Double;

Parametertypen

Folgende Parametertypen sind bezüglich der vom SOLKANE®-Stoffdatenmodul bereitgestellten Exportroutinen in VBA zuweisungskompatibel (vgl. auch Abschnitt Fehler! Verweisquelle konnte nicht gefunden werden.):

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 Übergabeart wird durch die Schlüsselworte ”ByVal” (Wert) und ”ByRef” (Referenz) definiert.

SFLU-AK I/10.07/20/D

-8-

SOLVAY FLUOR GmbH

Excel/VBA

Beispiel

In einer Zelle eines EXCEL-Arbeitsblattes soll die Dichte von flüssigem R507 bei 40°C berechnet werden. Das Visual-Basic-Modul soll sich in der gleichen Arbeitsmappe befinden.

Implementation:

'Schritt 1: Vereinbarung der Importroutine (primäre Funktion) im VB-Modul

'Funktion Nr. 10: Spezifisches Volumen, Flüssigkeit

Private Declare Function S_v_l Lib "REF_CALC32.DLL" _

(ByVal Refr As String, ByVal T As Double, ByRef v_l As Double) As Boolean

'Schritt 2: Implementierung der sekundären Funktion im VB-Modul Function X_v_l(ByVal Refr As String, ByVal T As Double) As Double

Dim Retur As Boolean

Retur = S_v_l(Refr, T, X_v_l) End Function

'Schritt 3: Aufruf der sekundären Funktion in einer Zelle eines Arbeitsblattes

=1/X_v_l("R507";40+273,15)

Ergebnis:

981,01 (kg/m³)

EXCEL-Abeitsmappe ”Sol_ex.xls”/ Modul ”ImportVBA”

Die Arbeitsmappe Sol_Ex.xls ist ein Beispiel, das den Einsatz des SOLKANE®-Moduls unter Microsoft EXCEL demonstriert. Sol_Ex.xls ist unter EXCEL 7 und höher lauffähig.

Die DLLs REF_LIB32 und VAR_LIB32 sollten sich entweder im Windows-System-Verzeichnis (empfohlen) oder im gleichen Ordner wie das ausführbare Programm befinden. Beachten Sie bitte, dass Excel.exe das ausführbare Programm ist!

Sol_Ex.xls besteht aus den Arbeitsblättern ”Aufrufe” und ”ImportVBA”.

Das Arbeitsblatt ”Aufrufe” zeigt, wie die Stoffdatenfunktionen in einem beliebigen Arbeitsblatt verwendet werden können.

Spalte D enthält die aktiven Funktionsaufrufe. In Spalte C sind die gleichen Funktionsaufrufe als Kommentar eingefügt. Die Eingabedaten befinden sich in den grau hinterlegten Zellen D2 bis D5 (siehe Bild 3).

SFLU-AK I/10.07/20/D

-9-

SOLVAY FLUOR GmbH

Excel/VBA

Bild 3: Beispiel Sol_Ex.xls

Liste der Kältemittel:

Einstoffkältemittel:

R22; R23; R32; R123; R124; R125; R134a; R143a; R152a; R227; R365mfc

Zeotrope:

R404A; R407C; R409A; R410A

Azeotrope:

R507; SES36 ®

Die im Arbeitsblatt ”Aufrufe” genutzten Funktionen sind im Visual-Basic-Modul ”ImportVBA” gespeichert. Der Inhalt von ”ImportVBA” ist komplett auch im Anhang dieser Broschüre wiedergegeben.

Alle Arbeitsblätter einer Arbeitsmappe haben automatisch Zugriff auf die zu der Arbeitsmappe gehörigen Visual-Basic-Module. Es ist möglich, das VB-Modul ”ImportVB6” auch in weitere Arbeitsmappen zu kopieren und dort ohne Einschränkungen zu verwenden.

SFLU-AK I/10.07/20/D

-10-

Соседние файлы в папке Sol_Excel