Система управления программным комплексом для автоматизации расчётов трубопроводных систем
Автоматизация расчёта параметров сетей трубопроводов по годам на основе прогнозных показателей добычи и закачки с применением программного продукта Pipesim и технологии OpenLink, Microsoft Excel. Определение плановой себестоимости и эффективности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 25.05.2012 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Dim gt As Integer
Dim OK As Boolean, OKey
Dim objn As String
objn = Sheets (2). Cells (n, m)
`специальный объект
INetModel. OpenModel filename
Set Over = INetModel. LocalFluid (objn)
OKey = Over. OverrideValues
`установка значений параметров
BlackOil. name = "Local"
BlackOil. Watercut = Sheets (2). Cells (n + 1, m + period)
If OKey = True Then
Over. WCutoverride_SI = Sheets (2). Cells (n + 1, m + period)
End If
BlackOil. API = (141.5 * 1000/Sheets (2). Cells (n + 2, m + period)) - 131.5
BlackOil. WaterSG = Sheets (2). Cells (n + 3, m + period)
BlackOil. GasSG = Sheets (2). Cells (n + 4, m + period)
gt = BlackOil. GOR_Type
If gt = 0 Then
BlackOil. GLR_SI = Sheets (2). Cells (n + 5, m + period)
If OKey = True Then
Over. GLRoverride_SI = Sheets (2). Cells (n + 5, m + period)
End If
End If
If gt = 1 Then
BlackOil. GOR_SI = Sheets (2). Cells (n + 5, m + period)
If OKey = True Then
Over. GORoverride_SI = Sheets (2). Cells (n + 5, m + period)
End If
End If
If gt = 2 Then
BlackOil. LGR_SI = Sheets (2). Cells (n + 5, m + period)
If OKey = True Then
Over. LGRoverride_SI = Sheets (2). Cells (n + 5, m + period)
End If
End If
If gt = 3 Then
BlackOil. OGR_SI = Sheets (2). Cells (n + 5, m + period)
If OKey = True Then
Over. OGRoverride_SI = Sheets (2). Cells (n + 5, m + period)
End If
End If
OK = INetModel. SetBoundaryBlackOil (objn, BlackOil)
INetModel. LocalFluid (s) = Over
Dim val As Double
val = Sheets (2). Cells (n + 9, m + period)
INetModel. SetBoundaryTemperature objn, val, "C"
Dim vl As Double
Dim rate As String
vl = Sheets (2). Cells (n + 10, m + period)
rate = Sheets (2). Cells (n + 10, 1)
Select Case rate
Case "Liquid rate (sm3/d)"
INetModel. SetBoundaryFluidrate objn, 0, vl, "sm3/d"
Case "Gas rate (sm3/d)"
INetModel. SetBoundaryFluidrate objn, 1, vl, "sm3/d"
Case "Mass rate (kg/h)"
INetModel. SetBoundaryFluidrate objn, 2, vl, "kg/h"
End Select
OK = INetModel. SaveModel (filename)
End Sub
Процедуры установки значений для моделей смеси
Sub SetSCO (filename, n, m, period)
`доступ к библиотекам
Dim INetModel As New NET32COMLib. INetModel
Dim Composition As New FLUIDMODELCOMLib. ICompositional
`рабочие переменные
Dim coun As Long
Dim chyd As Long
Dim caqu As Long
Dim k As Integer, l, ak, al
Dim temp As Integer
Dim hyd () As String
Dim aqu () As String
Dim mhyd () As Double
Dim maqu () As Double
Dim mol () As Double
Dim OK As Boolean
Dim object As String, ob
`доступ к файлу модели
INetModel. OpenModel filename
`создание специального объекта
Composition. CreateNewComposition
k = 0
l = 0
nn = n
mm = m
`определение числа элементов в списке
object = Sheets (2). Cells (n, m)
If Sheets (2). Cells (n + 1, m) = "Hydrocarbons" Then
n = n + 1
Do While Sheets (2). Cells (n + 1 + k, 1) <> "Aqueous"
chyd = k + 1
k = k + 1
Loop
End If
If chyd <> 0 Then
ReDim hyd (0 To chyd)
`определение размерности для массива элементов
ReDim mhyd (0 To chyd)
`определение элементов списка иих молярной долив массивы
If Sheets (2). Cells (nn + 1, mm) = "Hydrocarbons" Then
Do While Sheets (2). Cells (nn + 2 + l, mm) <> "Aqueous"
hyd (l) = Sheets (2). Cells (nn + 2 + l, mm)
mhyd (l) = Sheets (2). Cells (nn + 2 + l, mm + period)
l = l + 1
Loop
End If
End If
ak = 1
`определение наличия воды
If Sheets (2). Cells (n + 1 + chyd, m) = "Aqueous" Then
n = n + 1
Do While Sheets (2). Cells (n + chyd + ak, m) <> ""
ak = ak + 1
caqu = ak
Loop
End If
If caqu <> 0 Then
ReDim aqu (0 To caqu)
ReDim maqu (0 To caqu)
`запись данных о воде
al = 0
n = n - 1
If Sheets (2). Cells (n + 2 + chyd, m) = "Aqueous" Then
n = n + 1
Do While Sheets (2). Cells (n + 2 + chyd, m) <> ""
aqu (al) = Sheets (2). Cells (n + 2 + chyd, m)
maqu (al) = Sheets (2). Cells (n + 2 + chyd + al, m + period)
al = al + a1
Loop
End If
End If
`создание единого массива элементов и молярных долей
coun = chyd + caqu
ReDim mol (0 To coun)
If chyd <> 0 Then
For temp = 0 To chyd
mol (temp) = mhyd (temp)
Next
End If
If caqu <> 0 Then
For temp = chyd To coun
mol (temp) = maqu (temp - caqu + 1)
Next
End If
Dim bl () As Boolean
ReDim bl (o To coun)
Dim u As Integer
For u = 0 To coun - 1
bl (u) = True
Next
`установка значений для сети
Composition. SetComponentList hyd, chyd, aqu, caqu
Composition. SetMolarList mol, coun
Composition. SetLibraryList bl, coun
Composition. UpdateComposition
OK = INetModel. SetBoundaryComposition (object, Composition)
Dim val As Double
val = Sheets (2). Cells (nn + coun + 5, mm + period)
INetModel. SetBoundaryTemperature object, val, "C"
Dim vl As Double
Dim rate As String
vl = Sheets (2). Cells (nn + coun + 6, mm + period)
rate = Sheets (2). Cells (nn + coun + 6, 1)
Select Case rate
Case "Liquid rate (sm3/d)"
INetModel. SetBoundaryFluidrate object, 0, vl, "sm3/d"
Case "Gas rate (sm3/d)"
INetModel. SetBoundaryFluidrate object, 1, vl, "sm3/d"
Case "Mass rate (kg/h)"
INetModel. SetBoundaryFluidrate object, 2, vl, "kg/h"
End Select
OK = INetModel. SaveModel (filename)
End Sub
Процедура SetSink (filename, period)
Sub SetSink (filename, period)
`доступ к библиотеке
Dim INetModel As New NET32COMLib. INetModel
INetModel. OpenModel filename
Dim objname As Variant
Dim count As Long
`список всех стоков сети
INetModel. GetNameList 3, objname, count
Dim n As Integer
n = 1
Dim m As Integer
For m = 1 To count - 1
Do While Sheets (3). Cells (n, 1) <> objname (m)
n = n + 1
Loop
If Sheets (3). Cells (n, 1) = objname (m) Then
`Pressure
Dim pr As Double
pr = Sheets (3). Cells (n + 1, 1 + period)
INetModel. SetBoundaryPressure objname (m), pr, "bara"
`Temperature
Dim val As Double
val = Sheets (3). Cells (n + 2, 1 + period)
INetModel. SetBoundaryTemperature objname (m), val, "C"
`rate
Dim vl As Double
Dim rate As String
vl = Sheets (3). Cells (n + 3, 1 + period)
rate = Sheets (3). Cells (n + 3, 1)
Select Case rate
Case "Liquid rate (sm3/d)"
INetModel. SetBoundaryFluidrate objname (m), 0, vl, "sm3/d"
Case "Gas rate (sm3/d)"
INetModel. SetBoundaryFluidrate objname (m), 1, vl, "sm3/d"
Case "Mass rate (kg/h)"
INetModel. SetBoundaryFluidrate objname (m), 2, vl, "kg/h"
End Select
n = 1
End If
Next
OK = INetModel. SaveModel (filename)
End Sub
Sub SetCO (filename, n, m, period)
`доступ к бибилиотекам
Dim INetModel As New NET32COMLib. INetModel
Dim Composition As New FLUIDMODELCOMLib. ICompositional
`рабочие переменные
Dim coun As Long
Dim chyd As Long
Dim caqu As Long
Dim k As Integer, l, ak, al
Dim temp As Integer
Dim hyd () As String
Dim aqu () As String
Dim mhyd () As Double
Dim maqu () As Double
Dim mol () As Double
Dim OK As Boolean
Dim object As String, ob
`доступ к файлу сети
INetModel. OpenModel filename
`создание специального объекта
Composition. CreateNewComposition
k = 0
l = 0
nn = n
mm = m
`количество элементов с списке
If Sheets (1). Cells (n + 1, m) = "Hydrocarbons" Then
n = n + 1
Do While Sheets (1). Cells (n + 1 + k, 1) <> "Aqueous"
chyd = k + 1
k = k + 1
Loop
End If
If chyd <> 0 Then
ReDim hyd (0 To chyd)
ReDim mhyd (0 To chyd)
`заполнение массива элементами состава и их молярными долями
If Sheets (1). Cells (nn + 1, mm) = "Hydrocarbons" Then
Do While Sheets (1). Cells (nn + 2 + l, mm) <> "Aqueous"
hyd (l) = Sheets (1). Cells (nn + 2 + l, mm)
mhyd (l) = Sheets (1). Cells (nn + 2 + l, mm + period)
l = l + 1
Loop
End If
End If
ak = 1
`определение наличия данных о воде
If Sheets (1). Cells (n + 1 + chyd, m) = "Aqueous" Then
n = n + 1
Do While Sheets (1). Cells (n + chyd + ak, m) <> ""
ak = ak + 1
caqu = ak
Loop
End If
If caqu <> 0 Then
ReDim aqu (0 To caqu)
ReDim maqu (0 To caqu)
`заполнение массива данными о воде
al = 0
n = n - 1
If Sheets (1). Cells (n + 2 + chyd, m) = "Aqueous" Then
n = n + 1
Do While Sheets (1). Cells (n + 2 + chyd, m) <> ""
aqu (al) = Sheets (1). Cells (n + 2 + chyd, m)
maqu (al) = Sheets (1). Cells (n + 2 + chyd + al, m + period)
al = al + a1
Loop
End If
End If
coun = chyd + caqu
ReDim mol (0 To coun)
`создание единого массива элементов и их молярных долей
If chyd <> 0 Then
For temp = 0 To chyd
mol (temp) = mhyd (temp)
Next
End If
If caqu <> 0 Then
For temp = chyd To coun
mol (temp) = maqu (temp - caqu + 1)
Next
End If
Dim bl () As Boolean
ReDim bl (o To coun)
Dim u As Integer
For u = 0 To coun - 1
bl (u) = True
Next
`установка новых значений
Composition. SetComponentList hyd, chyd, aqu, caqu
Composition. SetMolarList mol, coun
Composition. SetLibraryList bl, coun
Composition. UpdateComposition
INetModel.compositionDefault = Composition
OK = INetModel. SaveModel (filename)
End Sub
Процедура Sink_page ()
Sub Sink_page ()
`доступ к библиотеке
Dim INetModel As New NET32COMLib. INetModel
Dim filename As String
`доступ к файлу модели
filename = Sheets (1). Range ("A1")
INetModel. OpenModel filename
`рабочие переменные
Dim count As Long
Dim objname As Variant
Dim indx As Integer
Dim pres As Double
Dim temp As Double
Dim d As Double
Dim l As Long
Dim m As Integer
m = 1
`список участков сети
INetModel. GetNameList 3, objname, count
For indx = 0 To count - 1
`форматирование ячеек
Sheets (3). Cells (m,
2). Interior. Color = RGB (131, 111, 255)
Sheets (3). Cells (m, 1). Interior. Color = RGB (131, 111, 255)
Sheets (3). Cells (m, 1). Font. Bold = True
Sheets (3). Cells (m, 1) = objname (indx)
m = m + 1
INetModel. GetBoundaryProperties objname (indx), pres, temp, d, l
`Pressure
Sheets (3). Cells (m, 1) = "Pressure (" & Sheets ("Units"). Range ("D5") & ")"
If pres <> - 7777 Then
Sheets (3). Cells (m,
2) = pres * Sheets ("Units"). Range ("C5")
Range (Sheets (3). Cells (m,
2), Sheets (3). Cells (m, 34)). Interior. Color = RGB (224, 255, 255)
Else
Sheets (3). Cells (m,
2) = ""
End If
m = m + 1
`Temperature
Sheets (3). Cells (m, 1) = "Temperature (" & Sheets ("Units"). Range ("D2") & ")"
Range (Sheets (3). Cells (m,
2), Sheets (3). Cells (m, 34)). Interior. Color = RGB (224, 255, 255)
If temp <> - 7777 Then
Sheets (3). Cells (m,
2) = (temp - 32) * 5/9
Else
Sheets (3). Cells (m,
2) = ""
End If
m = m + 1
If d <> - 7777 Then
Select Case l
`Rate
Case 0
Sheets (3). Cells (m, 1) = "Liquid rate (" & Sheets ("Units"). Range ("D11") & ")"
Sheets (3). Cells (m,
2) = d * Sheets ("Units"). Range ("C11")
Range (Sheets (3). Cells (m,
2), Sheets (3). Cells (m, 34)). Interior. Color = RGB (224, 255, 255)
If l < 0 Then
Sheets (3). Cells (m,
2) = ""
End If
Case 1
Sheets (3). Cells (m, 1) = "Gas rate (" & Sheets ("Units"). Range ("D8") & ")"
Sheets (3). Cells (m,
2) = d * Sheets ("Units"). Range ("C8")
Range (Sheets (3). Cells (m,
2), Sheets (3). Cells (m, 34)). Interior. Color = RGB (224, 255, 255)
If l = 0 Then
Sheets (3). Cells (m,
2) = ""
End If
Case 2
Sheets (3). Cells (m, 1) = "Mass rate (" & Sheets ("Units"). Range ("D14") & ")"
Sheets (3). Cells (m,
2) = d * Sheets ("Units"). Range ("C14")
Range (Sheets (3). Cells (m,
2), Sheets (3). Cells (m, 34)). Interior. Color = RGB (224, 255, 255)
If l = 0 Then
Sheets (3). Cells (m,
2) = ""
End If
End Select
End If
m = m + 3
Next
End Sub
Процедура SourceComp ()
Sub SourceComp ()
`доступ к бибилиотеке
Dim INetModel As New NET32COMLib. INetModel
`рабочие переменные
Dim filename As String
Dim tip As Integer
Dim pres As Double, pess
Dim temp As Double, tempe
Dim d As Double
Dim l As Long
`доступ к файлу модели
filename = Range ("A1")
INetModel. OpenModel filename
`рабочие переменные
Dim count As Long, lastcount, inx
Dim objname As Variant, lis
Dim s As String
Dim coun As Long
Dim chyd As Long
Dim caqu As Long
Dim all As Variant, hyd, aqu, mol
Dim k As Integer, ll, m, p
Dim w As Integer
w = 1
`доступ к библиотеке, специальный объект
Dim comp As New FLUIDMODELCOMLib. ICompositional
Set comp = INetModel.compositionDefault
`список источников сети
INetModel. GetNameList 2, objname, count
For indx = 0 To count - 1
s = objname (indx)
`считывание переметров истчоников
INetModel. GetBoundaryComposition s, comp
coun = comp. GetComponentList (all, hyd, aqu, chyd, caqu)
comp. GetMolarList mol
`форматирование рабочих ячеек
Sheets (2). Cells (w, 1). Interior. Color = RGB (131, 111, 255)
Sheets (2). Cells (w,
2). Interior. Color = RGB (131, 111, 255)
Sheets (2). Cells (w, 1) = s
Sheets (2). Cells (w, 1). Font. Bold = True
w = w + 1
Sheets (2). Cells (w, 1) = "Hydrocarbons"
Sheets (2). Cells (w, 1). Font. Bold = True
Sheets (2). Cells (w, 1). Font. Italic = True
w = w + 1
`заполнение ячеек данными о компонентном составе
For k = 0 To chyd - 1
Sheets (2). Cells (w + k, 1) = hyd (k)
Sheets (2). Cells (w + k,
2) = mol (k)
Range (Sheets (2). Cells (w + k,
2), Sheets (2). Cells (w + k, 34)). Interior. Color = RGB (224, 255, 255)
Next
w = w + k
Sheets (2). Cells (w, 1). Font. Bold = True
Sheets (2). Cells (w, 1). Font. Italic = True
Sheets (2). Cells (w, 1) = "Aqueous"
w = w + 1
For ll = 0 To caqu - 1
Sheets (2). Cells (w + ll, 1) = aqu (ll)
Sheets (2). Cells (w + ll,
2) = mol (chyd + ll)
Range (Sheets (2). Cells (w + ll,
2), Sheets (2). Cells (w + ll, 34)). Interior. Color = RGB (224, 255, 255)
w = w + 1
Next
`Считывание глобальны параметров
INetModel. GetBoundaryProperties s, pres, temp, d, l
Sheets (2). Cells (w + 1, 1) = "Pressure (" & Sheets ("Units"). Range ("D5") & ")"
If pres <> - 7777 Then
Sheets (2). Cells (w + 1,2) = pres * Sheets ("Units"). Range ("C5")
End If
Sheets (2). Cells (w + 2, 1) = "Temperature (" & Sheets ("Units"). Range ("D2") & ")"
If temp <> - 7777 Then
Sheets (2). Cells (w + 2,2) = (temp - 32) * 5/9
Range (Sheets (2). Cells (w + 2,2), Sheets (2). Cells (w + 2, 34)). Interior. Color = RGB (224, 255, 255)
End If
If d <> - 7777 Then
If l = 0 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Sheets (2). Cells (w + 3, 1) = "Liquid rate (" & Sheets ("Units"). Range ("D11") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C11")
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
End If
If l = 1 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Sheets (2). Cells (w + 3, 1) = "Gas rate (" & Sheets ("Units"). Range ("D8") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C8")
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
End If
If l = 2 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Sheets (2). Cells (w + 3, 1) = "Mass rate (" & Sheets ("Units"). Range ("D14") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C14")
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
End If
End If
w = w + 6
Next
End Sub
Процедура SourceBO ()
Sub SourceBO ()
`доступ к библиотеке
Dim INetModel As New NET32COMLib. INetModel
Dim Over As New NET32COMLib. FluidModel
`рабочие переменные
Dim filename As String
Dim tip As Integer
`доступ к файлу модели
filename = Sheets (1). Range ("A1")
INetModel. OpenModel filename
Sheets (2). name = "Sources"
Sheets (2). Cells. Clear
`рабочие переменные
Dim count As Long, lastcount, inx
Dim objname As Variant, lis
Dim s As String
Dim coun As Long
Dim chyd As Long
Dim caqu As Long
Dim all As Variant, hyd, aqu, mol
Dim k As Integer, ll, m, p
Dim w As Integer
Dim pr As Double
Dim tmp As Double
Dim OK As Boolean, OKey
w = 1
`доступ к библиотеке, специальный объект
Dim boil As New FLUIDMODELCOMLib. IBlackOil
Set boil = INetModel. BlackOilDefault
`список источников сети
INetModel. GetNameList 2, objname, count
For indx = 0 To count - 1
s = objname (indx)
`считывание параметров источников
Set Over = INetModel. LocalFluid (s)
INetModel. GetBoundaryBlackOil s, boil
OKey = Over. OverrideValues
Range (Sheets (2). Cells (w, 1), Sheets (2). Cells (w, 34)). Interior. Color = RGB (131, 111, 255)
'Sheets (2). Cells (w,
2). Interior. Color = RGB (131, 111, 255)
Sheets (2). Cells (w, 1). Font. Bold = True
Sheets (2). Cells (w, 1) = s
w = w + 1
Sheets (2). Cells (w, 1) = "Watercut (%)"
If OKey = True Then
Sheets (2). Cells (w,
2) = Over. WCutoverride_SI
Else
Sheets (2). Cells (w,
2) = boil. Watercut
End If
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
w = w + 1
Sheets (2). Cells (w, 1) = "DOD (" & Sheets ("Units"). Cells (56,4) & ")"
Sheets (2). Cells (w,
2) = (141.5/ (boil. API + 131.5)) * 1000
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
w = w + 1
Sheets (2). Cells (w, 1) = "WaterSG"
Sheets (2). Cells (w,
2) = boil. WaterSG
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
w = w + 1
Sheets (2). Cells (w, 1) = "GasSG"
Sheets (2). Cells (w,
2) = boil. GasSG
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
w = w + 1
If OKey = True Then
gt = Over. GORoverride_Type
Else
gt = boil. GOR_Type
End If
If gt = 0 Then
Sheets (2). Cells (w, 1) = "GLR (" & Sheets ("Units"). Range ("D20") & ")"
If OKey = True & Over. GLRoverride_SI <> - 7777 Then
Sheets (2). Cells (w,
2) = Over. GLRoverride_SI * Sheets ("Units"). Range ("C20")
Else
Sheets (2). Cells (w,
2) = boil. GLR_SI * Sheets ("Units"). Range ("C20")
End If
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
End If
If gt = 1 Then
Sheets (2). Cells (w, 1) = "GOR (" & Sheets ("Units"). Range ("D23") & ")"
If OKey = True And Over. GORoverride_SI <> - 7777 Then
Sheets (2). Cells (w,
2) = Over. GORoverride_SI * Sheets ("Units"). Range ("C23")
Else
Sheets (2). Cells (w,
2) = boil. GOR_SI * Sheets ("Units"). Range ("C23")
End If
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
End If
If gt = 2 Then
Sheets (2). Cells (w, 1) = "LGR (" & Sheets ("Units"). Range ("D26") & ")"
If OKey = True Then
Sheets (2). Cells (w,
2) = Over. LGRoverride_SI * Sheets ("Units"). Range ("C26")
Else
Sheets (2). Cells (w,
2) = boil. LGR_SI * Sheets ("Units"). Range ("C26")
End If
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
End If
If gt = 3 Then
Sheets (2). Cells (w, 1) = "OGR (" & Sheets ("Units"). Range ("D17") & ")"
If OKey = True Then
Sheets (2). Cells (w,
2) = Over. OGRoverride_SI * Sheets ("Units"). Range ("C17")
Else
Sheets (2). Cells (w,
2) = boil. OGR_SI * Sheets ("Units"). Range ("C17")
End If
Range (Sheets (2). Cells (w,
2), Sheets (2). Cells (w, 34)). Interior. Color = RGB (224, 255, 255)
End If
w = w + 1
Sheets (2). Cells (w, 1) = "Solution Gas Correlation"
typ = boil. SolutionGasCorrelation
If typ = 0 Then
Sheets (2). Cells (w,
2) = "Lasater"
End If
If typ = 1 Then
Sheets (2). Cells (w,
2) = "Standing"
End If
If typ = 2 Then
Sheets (2). Cells (w,
2) = "Vazquez and Beggs"
End If
If typ = 3 Then
Sheets (2). Cells (w,
2) = "Glaso"
End If
If typ = 4 Then
Sheets (2). Cells (w,
2) = "Kartoatmodjo"
End If
Dim pres As Double
Dim temp As Double
Dim d As Double
Dim l As Long
w = w + 1
INetModel. GetBoundaryProperties s, pres, temp, d, l
Sheets (2). Cells (w + 1, 1) = "Pressure (" & Sheets ("Units"). Range ("D5") & ")"
If pres <> - 7777 Then
Sheets (2). Cells (w + 1,2) = pres * Sheets ("Units"). Range ("C5")
End If
Sheets (2). Cells (w + 2, 1) = "Temperature (" & Sheets ("Units"). Range ("D2") & ")"
Range (Sheets (2). Cells (w + 2,2), Sheets (2). Cells (w + 2, 34)). Interior. Color = RGB (224, 255, 255)
If temp <> - 7777 Then
Sheets (2). Cells (w + 2,2) = (temp - 32) * 5/9
End If
If d <> - 7777 Then
If l = 0 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
Sheets (2). Cells (w + 3, 1) = "Liquid rate (" & Sheets ("Units"). Range ("D11") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C11")
End If
If l = 1 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
Sheets (2). Cells (w + 3, 1) = "Gas rate (" & Sheets ("Units"). Range ("D8") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C8")
End If
If l = 2 Then
Sheets (2). Cells (w + 3, 1). Font. Italic = True
Range (Sheets (2). Cells (w + 3,2), Sheets (2). Cells (w + 3, 34)). Interior. Color = RGB (224, 255, 255)
Sheets (2). Cells (w + 3, 1) = "Mass rate (" & Sheets ("Units"). Range ("D14") & ")"
Sheets (2). Cells (w + 3,2) = d * Sheets ("Units"). Range ("C14")
End If
End If
w = w + 6
Next
End Sub
Размещено на Allbest.ru
Подобные документы
Описание разработанной подсистемы автоматизации, алгоритм ее работы. Структуры базы данных и составных частей подсистемы. Затраты на разработку программного продукта и эффект от внедрения подсистемы. Руководство по работе с программным комплексом.
дипломная работа [3,0 M], добавлен 02.02.2009Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Основные возможности программного пакета Microsoft Excel, его популярность среди бухгалтеров и экономистов. Использование математических, статистических и логических функций. Определение частоты наступления событий. Особенности ранжирования данных.
презентация [1,1 M], добавлен 22.10.2015Исследование возможности автоматизации забора и анализа статистических данных из различных систем. Разработка удобного и масштабируемого программного продукта для автоматизации построения маркетинговых отчетов. Защита внутрикорпоративной информации.
дипломная работа [3,0 M], добавлен 28.01.2014Проблемы автоматизации менеджмента в турфирмах для повышения эффективности систем управления и безопасности, расширения числа клиентов, решения маркетинговых задач. Внедрение компьютерных систем бронирования на примере Fidelio Hotel Management System.
курсовая работа [268,3 K], добавлен 07.01.2015Характеристика программного продукта Microsoft Outlook 2000. Принципы работы с редактором электронных таблиц Microsoft Excel и текстового редактора Microsoft Word. Методические указания при работе с СУБД Access. Анализ системы управления базами данных.
контрольная работа [116,3 K], добавлен 13.11.2010Технология формирования исходной матрицы числовой экономико-математической модели на основе заданной информации. Алгоритм решения задачи программным комплексом на примере использования Excel. Процедура возврата результатов решения в электронную таблицу.
методичка [38,4 K], добавлен 05.07.2010Порядок контроля и приемки программного продукта, предназначенного для автоматизации процесса анализа эффективности инвестиций и капитальных вложений. Состав входной и выходной информации. Описание функций программного комплекса. Руководство пользователя.
курсовая работа [436,8 K], добавлен 28.05.2013Определение параметров линейной зависимости из графика. Метод парных точек. Метод наименьших квадратов. Блок-схема программного комплекса в Microsoft Visual Studio и Microsoft Excel. Инструкция пользователя, скриншоты. Общий вид программного кода.
курсовая работа [2,1 M], добавлен 29.11.2014Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.
дипломная работа [1,4 M], добавлен 23.06.2015