📄 module2.bas
字号:
Attribute VB_Name = "Module2"
Public Const WaterMdbFile = "\data\数据.mdb"
Public N As Single
Public u As Single
Public x As Single
Private y As Single
Public z As Single
Public Function SearchG(ByVal t As Single, V As Single) As Boolean
Dim db As Database
Dim rs As Recordset
Dim strSQL As String
Set db = OpenDatabase(App.Path + WaterMdbFile)
SearchG = False
strSQL = "SELECT * FROM water "
strSQL = strSQL & " WHERE t="
strSQL = strSQL & Str(t)
Set rs = db.OpenRecordset(strSQL)
If Not (rs.BOF And rs.EOF) Then
Do While Not rs.EOF
V = rs.Fields(1).value
SearchG = True
Exit Do
rs.MoveNext
Loop
End If
rs.Close
db.Close
End Function
Public Function GQd(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S As Single) As Single
Dim S As Single
S = 127.54 * CO + 108 * H2 + 358 * CH4 + 590 * C2H4 + 231.1 * H2S
GQd = S
End Function
Public Function GL0(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single) As Single
'Static y As Single
y = 0.0238 * CO + 0.0238 * H2 + 0.0952 * CH4 + 0.1428 * C2H4 + 0.0714 * H2S - 0.0476 * O2
GL0 = y
End Function
Public Function GLY(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal CO2, ByVal N2 As Single, ByVal W As Single) As Single
'Static z As Single
z = (CO + H2 + 3 * CH4 + 4 * C2H4 + 2 * H2S + CO2 + N2 + W) * 0.01 + (0.79 * y)
GLY = z
End Function
Public Function GLn(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single) As Single
'Static x As Single
'Static N As Single
N = Val(Form2.Text4.Text)
'x = L0(CO, H2, CH4, C2H4, H2S, O2)
x = (1 + 0.00124 * Val(Form2.Text3.Text)) * N * y
GLn = x
End Function
Public Function GSY(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal CO2, ByVal O2, ByVal N2, ByVal W As Single) As Single
'u = L0(CO, H2, CH4, C2H4, H2S, O2)
'u = (N - 1) * u + LY(CO, H2, CH4, C2H4, H2S, CO2, N2, w) + 0.00124 * V * Ln(V, CO, H2, CH4, C2H4, H2S, O2)
N = Val(Form2.Text4.Text)
u = (CO + H2 + 3 * CH4 + 4 * C2H4 + 2 * H2S + CO2 + N2 + W) * 0.01 + (N - 0.21) * y + 0.00124 * Val(Form2.Text3.Text) * x
GSY = u
End Function
Public Function GPCO2(ByVal CO, ByVal CH4, ByVal C2H4, ByVal CO2 As Single) As Single
Dim A As Single
A = (CO + CH4 + 2 * C2H4 + CO2) * 0.01
A = A * 100 / u
GPCO2 = A
End Function
Public Function GPSO2(ByVal H2S As Single) As Single
Dim A As Single
A = H2S / u
GPSO2 = A
End Function
Public Function GPN2(ByVal N2, ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single) As Single
Dim A As Single
A = (N2 * 0.01 + 0.79 * x) * 100 / u
GPN2 = A
End Function
Public Function GPO2(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single) As Single
Dim A As Single
A = 0.21 * (x - y)
A = A * 100 / u
GPO2 = A
End Function
Public Function GPH2O(ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal W, ByVal CO, ByVal O2 As Single) As Single
Dim A As Single
'a = (H2 + 2 * CH4 + 2 * C2H4 + H2S + w) * 0.01 + 0.00124 * V * SY(V, CO, H2, CH4, C2H4, H2S, O2, N2, w)
A = (H2 + 2 * CH4 + 2 * C2H4 + H2S + W) * 0.01 + 0.00124 * Val(Form2.Text3.Text) * x
A = A * 100 / u
GPH2O = A
End Function
Public Function GBC2H4(ByVal t As Single)
Dim C As Single
C = 1.81514126 + 0.00260694312 * t - 0.000000873543124 * t8t
GBC2H4 = C
End Function
Public Function GBCH4(ByVal t As Single)
Dim C As Single
C = 1.52925165 + 0.00131352198 * t - 0.000000153021978 * t * t
GBCH4 = C
End Function
Public Function GBH2S(ByVal t As Single)
Dim C As Single
C = 1.50175748 + 0.00039416292 * t - 0.000000039707633 * t * t
GBH2S = C
End Function
Public Function GBH2(ByVal t As Single)
Dim C As Single
C = 1.28338694 + 0.0000397565079 * t + 1.05946276E-08 * t * t
GBH2 = C
End Function
Public Function GBCO(ByVal t As Single)
Dim C As Single
C = 1.28432057 + 0.000149187027 * t - 0.00000001922558 * t * t
GBCO = C
End Function
Public Function GBAir(ByVal t As Single)
Dim C As Single
C = 1.28478578 + 0.000141967442 * t - 1.64954212E-08 * t * t
GBAir = C
End Function
Public Function GBH2O(ByVal t As Single)
Dim C As Single
C = 1.46652143 + 0.000263006685 * t - 1.31144689E-08 * t * t
GBH2O = C
End Function
Public Function GBO2(ByVal t As Single)
Dim C As Single
C = 1.30364121 + 0.000207863132 * t - 3.61126374E-08 * t * t
GBO2 = C
End Function
Public Function GBN2(ByVal t As Single)
Dim C As Single
C = 1.2902815 + 0.000107926502 * t - 5.96978022E-09 * t * t
GBN2 = C
End Function
Public Function GBCO2(ByVal t As Single)
Dim C As Single
C = 1.6779859 + 0.000685366197 * t - 0.000000144643162 * t * t - 0.2
GBCO2 = C
End Function
Public Function GC燃(ByVal t As Single)
Dim C As Single
C = (GBCO2(t) * Form2.Label6(0) + GBC2H4(t) * Form2.Label6(1) + GBO2(t) * Form2.Label6(2) + GBH2(t) * Form2.Label6(3) + GBCH4(t) * Form2.Label6(4) + GBCO(t) * Form2.Label6(5) + GBN2(t) * Form2.Label6(6) + GBH2O(t) * Form2.Label14) / 100
GC燃 = C
End Function
Public Function GQ燃(ByVal t As Single) As Single
Dim C As Single
C = GC燃(t) * t
GQ燃 = C
End Function
Public Function GQ空(ByVal t, ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single)
Dim C As Single
'c = BAir(t) * t * Ln(V, CO, H2, CH4, C2H4, H2S, O2)
N = Val(Form2.Text4.Text)
C = (N * y * GBAir(t) + 0.00124 * Val(Form2.Text3.Text) * N * y * GBH2O(t)) * t
GQ空 = C
End Function
'Public Function C产(ByVal t, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal H2O, ByVal V, ByVal N2, ByVal CO, ByVal O2, ByVal CO2 As Single)
Public Function GBSO2(ByVal t As Single)
Dim C As Single
C = 1.71745219 + 0.000926912288 * t - 0.000000365996504 * t * t
GBSO2 = C
End Function
Public Function GC产(ByVal t)
Dim C As Single
C = GBCO2(t) * Val(Form2.Label21(0)) + GBSO2(t) * Val(Form2.Label21(1)) + GBH2O(t) * Val(Form2.Label21(2)) + GBN2(t) * Val(Form2.Label21(3)) + GBO2(t) * (Form2.Label21(4))
C = C / 100
GC产 = C
End Function
Public Function Gt理(ByVal CO, ByVal H2, ByVal CH4, ByVal C2H4, ByVal H2S, ByVal O2 As Single) As Single
Dim C, l, m, st As Single
Dim result As Single
l = Val(Form2.Text5.Text)
m = Val(Form2.Text6.Text)
st = Val(Form2.Text7.Text)
C = GQd(CO, H2, CH4, C2H4, H2S) + GQ空(m, CO, H2, CH4, C2H4, H2S, O2) + GQ燃(l)
C = C / (z * GC产(st) + (x - y) * GBAir(st))
result = Abs(C - st)
If result < 5 Then
t理 = C
Else
Do While result > 5
st = (C + st) / 2
C = GQd(CO, H2, CH4, C2H4, H2S) + GQ空(m, CO, H2, CH4, C2H4, H2S, O2) + GQ燃(l)
C = C / (z * GC产(st) + (x - y) * GBAir(st))
result = Abs(C - st)
Loop
Gt理 = C
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -