Hallo, ich habe ein kleines Problem mit meinem Berechnungsprogramm und finde den fehler nicht
Dim ß As Double, DB As Double, DR As Double, Ep As Double, P1 As Double, P2 As Double
Dim E As Double, Rho1 As Double, PW As Double, P1abs As Double, Pamb As Double, T1 As Double
Dim my As Double, Tr As Double, c As Double, my0 As Double, Var1 As Double, Var2 As Double
Dim Calt As Double, Re As Double, A As Double, qm As Double, qv As Double, sg As Double
Dim C_neu As Double, Ai As Double, Re_i As Double, pi As Double, Var3 As Double, Var4 As Double
Dim counter As Integer
DB = TextBox2.Value / 1000 'Innendurchmesser Blende in Meter
DR = TextBox1.Value / 1000 'Innendurchmesser Rohr in Meter
P1 = TextBox4.Value * 10 ^ 5 'Druck vor der Messblende in Pascal
P2 = TextBox5.Value * 10 ^ 5 'Druck vor der Armatur in Pascal
Pamb = TextBox7.Value * 10 ^ 5 'Umgebungsdruck in Pascal
PW = TextBox6.Value * (10 ^ 5) 'Wirkdruck in Pascal
T1 = TextBox3.Value + 273.15 'Umgebungstemperatur in Pascal
'Berechnung der Variablen für die Iteration
P1abs = P1 + Pamb 'Absolutdruck vor der Blende
Rho1 = P1abs / ((287 * T1)) 'Dichte der Luft in Abhaengigkeit der Temperatur
ß = DB / DR 'Verhaeltnis Innendurchmesserblende zu Innendurchmesser Rohr
E = 1 / Sqr(1 - ß ^ 4) 'Vorschgeschwindigkeitsfaktor
Var1 = ß ^ 4
Var2 = ß ^ 8
'Berechnung Expansionszahl
Ep = 1 - (0.351 + 0.256 * Var1 + (0.93 * Var2)) * (1 - ((P2 / P1) ^ (1 / 1.4)))
Re = 10 ^ 5 'Reynoldszahlstartwert
counter = 0 'Schleifenzaehler
pi = 3.14159265358979
Var3 = ß ^ 2 'Variable
Var4 = ß ^ 3.5 'Variable
'Hauptrechnung
Do
'Durchflusskoeffizient mit Startwert 10^5 berechnen
Calt = 0.5961 + 0.0261 * Var3 - 0.216 * Var2 + 0.000521 * ((10 ^ 6 * ß) / Re) ^ 0.7 + (0.0188 + 0.0063 * A) * (ß ^ 3.5) * (10 ^ 6 / Re) ^ 0.3
A = (19000 * ß / Re) ^ 0.8
'Gleichung für Berechnung massenstrom in kg/h
qm = Ep * Calt * (pi / 4 * DB ^ 2) * E * ((2 * PW * Rho1) ^ 0.5) * 3600
'Berechnung des Volumenstroms
qv = qm / Rho1
'Berechnung der Strömungsgeschwindigkeit
sg = qv / (3.14 / 4 * DR ^ 2) / 3600
'Sutherland-Gesetz Berechnung der dynamischen Viskosität
Tr = 291.15 'Referenztemperatur in Kelvin
my0 = 18.27 * (10 ^ -6) 'Referenz-Viskosität bei Referenztemperatur (Tr) in Pa*s
c = 120 'Sutherland Konstante
my = my0 * (Tr + c) / (T1 + c) * ((T1 / Tr) ^ (3 / 2))
'Berechnung der neuen Reynoldszahl
Re_i = sg * DR * Rho1 / my
'Durchflusskoeffizient mit neuem Wert der Reynoldszahl berechnen
C_neu = 0.5961 + 0.0261 * (ß ^ 2) - 0.216 * (ß ^ 8) + 0.000521 * (10 ^ 6 * ß / Re_i) ^ 0.7 + (0.0188 + 0.0063 * A) * (ß ^ 3.5) * (10 ^ 6 / Re_i) ^ 0.3
A = (19000 * ß / Re_i) ^ 0.8
'Schleifenzaehler
counter = counter + 1
'Bedingung fuer Abfrage der Werte um Iteration zu beenden
If Abs(C_neu - Calt) / Calt < 10 ^ -6 Then
Exit Do
Else
Re = Re_i
End If
Loop
Immer wenn ich in die Textboxen für die Drücke einen negativen Wert einsetze stürzt das Programm ab und es erscheint folgende Meldung
'Laufzeitfehler 5 Ungültiger Prozeduraufruf oder ungültiges Element
Kann mir vielleicht einer weiterhelfen?
Besten Gruß
|