user id DB로그인 안되게 수정
디버깅이안되는 현상 있음
This commit is contained in:
@@ -194,9 +194,9 @@
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub Calc_AirHandling(ByVal i_count_month As Integer, ByVal theta_e As Decimal, Optional p_난방온도 As Decimal = 20, Optional p_냉방온도 As Decimal = 26) ' ByVal d_mth As Integer,
|
||||
Public Overridable Sub Calc_AirHandling(ByVal i_count_month As Integer, ByVal i_d_full_month As Decimal, ByVal theta_e As Decimal, Optional p_난방온도 As Decimal = 20, Optional p_냉방온도 As Decimal = 26) ' ByVal d_mth As Integer,
|
||||
|
||||
pLog.Add(String.Format(">>Calc_AirHandling 진입 : i_count_month={0},theta_e={1},p_난방온도={2},p_냉방온도={3}", i_count_month, theta_e, p_난방온도, p_냉방온도))
|
||||
pLog.Add(String.Format(">>Calc_AirHandling 진입 : i_count_month={0},i_d_full_month={1},p_난방온도={2},p_냉방온도={3}", i_count_month, i_d_full_month, p_난방온도, p_냉방온도))
|
||||
|
||||
Dim A_B As Decimal
|
||||
Dim x_ABL_wi As Decimal, h_ABL_wi As Decimal, x_ABL_so As Decimal, h_ABL_so As Decimal, x_AUL_wi As Decimal, h_AUL_wi As Decimal, x_AUL_so As Decimal, h_AUL_so As Decimal
|
||||
@@ -219,6 +219,8 @@
|
||||
Dim c_p_Lrho_L As Decimal, theta_ZUL_so As Decimal, p_S_theta_ZUL_so As Decimal, p_95_theta_ZUL_so As Decimal, x_95_ZUL_so As Decimal
|
||||
Dim h_95_ZUL_so As Decimal, i_count_air As Integer, i_count_start_time As Integer, i_count_end_time As Integer ', i_profile As Integer
|
||||
Dim P_D_j_theta_AUL_j As Decimal
|
||||
Dim Delta_theta_AUL, V_dot_A_AHU As Decimal
|
||||
|
||||
|
||||
' 공조처리
|
||||
theta_i_h_soll = p_난방온도
|
||||
@@ -277,6 +279,33 @@
|
||||
'If Dr존.냉난방공조처리시스템 <> "" Then ' Worksheets("입력존").Range("입력난방공급기기1").Offset(2, i_count_zone - 1) <> "" Then
|
||||
'If Worksheets("입력존").Range("입력난방공급기기1").Offset(2, i_count_zone - 1) = Worksheets("공조처리시스템").Range("공조기기1").Offset(0, i_count_AHU - 1) Then
|
||||
'If Dr존.냉난방공조처리시스템 = Dr공조.code Then ' Worksheets("공조처리시스템").Range("공조기기1").Offset(0, i_count_AHU - 1) Then
|
||||
|
||||
'/// 공기식 태양열 적용여부 확인
|
||||
Delta_theta_AUL = 0
|
||||
V_dot_A_AHU = 0
|
||||
If Dr공조.공기식태양열적용.Trim = "예" Then
|
||||
|
||||
'Dim ZoneListKongjo() As DS.tbl_zoneRow = DSET.tbl_zone.Select("code<>'0' and 냉난방공조처리시스템 = '" + Dr공조.code + "'", "code")
|
||||
V_dot_A_AHU = Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, Dr공조.code)
|
||||
'For Each DrZonbyKongjo As DS.tbl_zoneRow In ZoneListKongjo
|
||||
|
||||
' 'Dim Dr프로필2 As DS.tbl_profileRow = CType(DSET.tbl_profile.Select("code='" & DrZonbyKongjo.프로필 & "'")(0), DS.tbl_profileRow)
|
||||
' V_dot_A_AHU += Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, Dr공조.code) ' TOSG(DrZonbyKongjo.면적) * TOSG(DrZonbyKongjo.입력존의수) * TOSG(Dr프로필2.최소도입외기량)
|
||||
'Next
|
||||
|
||||
'공조기에 연결된 입력존면적*입력존수*최소외기도입량 의 합계 산출(V_dot_A_AHU)
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
Delta_theta_AUL = SolarAirHeatingSystem(DSET, i_count_month, i_d_full_month, Dr공조, V_dot_A_AHU, theta_e, Delta_theta_AUL)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Q_vh_b = 0
|
||||
Q_vc_b = 0
|
||||
Q_vm_b = 0
|
||||
@@ -324,7 +353,7 @@
|
||||
|
||||
End If
|
||||
|
||||
theta_AUL = theta_AUL / t_V_mech_m
|
||||
theta_AUL = (theta_AUL / t_V_mech_m) + Delta_theta_AUL
|
||||
x_AUL = x_AUL / t_V_mech_m
|
||||
h_AUL = c_p_L * theta_AUL + x_AUL * (r_0 + c_p_L * theta_AUL)
|
||||
|
||||
@@ -501,6 +530,7 @@
|
||||
'냉방공조처리에너지(냉각,리턴공기혼합유무(리턴공기혼합율 계산, 열회수유무(현열 또는 전열, 열회수율 입력)
|
||||
|
||||
Q_c_b = TOSG(Drow분석(0).냉방요구량공조) 'Sheets("" & i_count_month & "").Cells(11, 7 + i_count_zone)
|
||||
theta_AUL = theta_AUL - Delta_theta_AUL
|
||||
Select Case Dr공조.공조방식.Trim 'Worksheets("공조처리시스템").Range("공조방식1").Offset(0, i_count_AHU - 1)
|
||||
Case "정풍량" '정풍량"
|
||||
If Dr공조.외기냉방제어유무 = "유" Then ' Worksheets("공조처리시스템").Range("공조방식1").Offset(6, i_count_AHU - 1) = "유" Then
|
||||
@@ -747,6 +777,7 @@
|
||||
|
||||
'==========================================================================2010.02.04 추가부분 시작
|
||||
If Dr존.냉난방공조 = "환기" OrElse (Dr존.냉난방공조 = "난방" AndAlso Dr존.외기부하처리여부 = "예") Then '//환기
|
||||
|
||||
Dim DR프로필() As DS.tbl_profileRow = CType(DSET.tbl_profile.Select("code='" & Dr존.프로필.ToString & "' and code <> '0'"), DS.tbl_profileRow())
|
||||
If DR프로필.GetUpperBound(0) = 0 Then
|
||||
t_V_mech_m = TOSG(DR프로필(0).운전시간난방) ' Worksheets("설정조건").Range("사용시작시간1").Offset(5, i_count_profile)
|
||||
@@ -774,9 +805,38 @@
|
||||
End If
|
||||
|
||||
Dim DR공조() As DS.tbl_kongjoRow = CType(DSET.tbl_kongjo.Select("code='" & Dr존.냉난방공조처리시스템 & "' and code <> '0'"), DS.tbl_kongjoRow())
|
||||
|
||||
|
||||
If DR공조.GetUpperBound(0) = 0 Then
|
||||
|
||||
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2010.05.26 추가
|
||||
|
||||
|
||||
'/// 공기식 태양열 적용여부 확인
|
||||
Delta_theta_AUL = 0
|
||||
V_dot_A_AHU = 0
|
||||
If DR공조(0).공기식태양열적용.Trim = "예" Then
|
||||
|
||||
'Dim ZoneListKongjo() As DS.tbl_zoneRow = DSET.tbl_zone.Select("code<>'0' and 냉난방공조처리시스템 = '" + Dr공조.code + "'", "code")
|
||||
V_dot_A_AHU = Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, DR공조(0).code)
|
||||
'For Each DrZonbyKongjo As DS.tbl_zoneRow In ZoneListKongjo
|
||||
|
||||
' 'Dim Dr프로필2 As DS.tbl_profileRow = CType(DSET.tbl_profile.Select("code='" & DrZonbyKongjo.프로필 & "'")(0), DS.tbl_profileRow)
|
||||
' V_dot_A_AHU += Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, Dr공조.code) ' TOSG(DrZonbyKongjo.면적) * TOSG(DrZonbyKongjo.입력존의수) * TOSG(Dr프로필2.최소도입외기량)
|
||||
'Next
|
||||
|
||||
'공조기에 연결된 입력존면적*입력존수*최소외기도입량 의 합계 산출(V_dot_A_AHU)
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
Delta_theta_AUL = SolarAirHeatingSystem(DSET, i_count_month, i_d_full_month, DR공조(0), V_dot_A_AHU, theta_e, Delta_theta_AUL)
|
||||
End If
|
||||
|
||||
|
||||
If DR공조(0).열교환기유형.Trim = "현열교환" OrElse DR공조(0).열교환기유형.Trim = "전열교환" Then
|
||||
Phi_h = TOSG(DR공조(0).열회수율) 'Worksheets("공조처리시스템").Range("열교환기1").Offset(1, i_count_AHU - 1)
|
||||
Phi_c = TOSG(DR공조(0).열회수율냉) 'Worksheets("공조처리시스템").Range("열교환기1").Offset(2, i_count_AHU - 1)
|
||||
@@ -787,8 +847,14 @@
|
||||
'// 여기 i_count_month 에 0 이 오지는 않나요? 예.. 1 부터 시작해요
|
||||
'// If CSng(Drow분석(0).난방요구량공조) > 0 Then 'Sheets("" & i_count_month & "").Cells(8, 7 + i_count_zone) > 0 Then
|
||||
|
||||
If TOSG(Drow분석(0).난방요구량공조) > 0 Then
|
||||
Drow분석(0).난방요구량공조 = (1 - Phi_h) * TOSG(Drow분석(0).난방요구량공조)
|
||||
If TOSG(Drow분석(0).난방요구량공조) > 0 And theta_e <> 20 Then
|
||||
Drow분석(0).난방요구량공조 = TOSG(Drow분석(0).난방요구량공조) * (20 - theta_e + Delta_theta_AUL) / (20 - theta_e)
|
||||
If TOSG(Drow분석(0).난방요구량공조) < 0 Then
|
||||
Drow분석(0).난방요구량공조 = 0
|
||||
Else
|
||||
Drow분석(0).난방요구량공조 = (1 - Phi_h) * TOSG(Drow분석(0).난방요구량공조)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If TOSG(Drow분석(0).냉방요구량공조) > 0 Then
|
||||
@@ -839,6 +905,85 @@
|
||||
|
||||
End Sub
|
||||
|
||||
'Public Overridable Sub SolarAirHeatingSystem(ByVal i_count_month As Integer, ByVal i_count_d_mth As Integer, ByVal Dr공조 As DS.tbl_kongjoRow, ByVal V_dot_A_AHU As Decimal, ByVal T_amb As Decimal, ByVal Delta_T_act As Decimal) ' ByVal d_mth As Integer,
|
||||
|
||||
' pLog.Add(String.Format(">>SolarAirHeatingSystem 진입 : i_count_month={0}, i_count_d_mth={1}, Dr공조={2}, 외기도입량={3}, theta_e={4}, Delta_T_act={5}", i_count_month, i_count_d_mth, Dr공조.code, V_dot_A_AHU, T_amb, Delta_T_act))
|
||||
|
||||
' Dim G_coll, G_tilt, A_coll As Decimal
|
||||
' Dim e_HX, h_c, v_wind, t, alpha, h_dot_r, eta As Decimal
|
||||
' Dim Q_dot_coll, Delta_T_avl, T_del_avl, T_del_act, T_del_max As Decimal
|
||||
' Dim rho As Decimal = 1.225
|
||||
' Dim C_p As Decimal = 1005 '// [J/kg'C]
|
||||
' Dim Delta_T_offset As Decimal = 3
|
||||
' Dim h_sunlight As Decimal = 24
|
||||
' Dim sigma_s As Decimal = 0.000000056703 '스테판볼츠만 상수
|
||||
|
||||
|
||||
' '// 사용자 입력항목 : 집열기 면적(A_coll), 단면적, 집열기 표면방사율(e)
|
||||
' '// Q_dot_coll 은 외기도입풍량을 집열기 면적으로 나눈 값
|
||||
' '// h_sunlight 는 주간 운전시간 적용
|
||||
|
||||
' Dim Drow풍속 As DS.weather_windRow = CType(DSET.weather_wind.Select("pcode='" & Calc.Pub.기상데이터.code & "'")(0), DS.weather_windRow)
|
||||
' v_wind = TOSG(Drow풍속("M" + i_count_month.ToString("00")))
|
||||
|
||||
' Dim Dr일사 As DS.weather_ilsaRow
|
||||
|
||||
' Select Case Dr공조.집열기방위.Trim
|
||||
' Case "남" '"남"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 1, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "남동" '"남동"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 2, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "남서" '"남서"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 3, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "동" '"동"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 4, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "서" '"서"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 5, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "북동" '"북동"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 6, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "북서" '"북서"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 7, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
' Case "북" '"북"
|
||||
' Dr일사 = CType(DSET.weather_ilsa.Select("pcode='" & Calc.Pub.기상데이터.code & "' and code='" & Format(1 + 8, "0000") & "'")(0), DS.weather_ilsaRow)
|
||||
' G_tilt = TOSG(Dr일사("M" & Format(i_count_month, "00"))) * i_count_d_mth * 24 / 1000
|
||||
|
||||
' End Select
|
||||
|
||||
|
||||
' A_coll = TOSG(Dr공조.집열기면적)
|
||||
' alpha = TOSG(Dr공조.집열기방사율)
|
||||
' Q_dot_coll = V_dot_A_AHU / A_coll
|
||||
' G_coll = G_tilt * A_coll '// * f_op 집열기 가동계수는 G_tilt 에 포함
|
||||
|
||||
' e_HX = 1 - 5 * Q_dot_coll
|
||||
' h_c = 6.0 + 4.0 * v_wind - 76 * Q_dot_coll
|
||||
' t = alpha * G_tilt / (rho * C_p * Q_dot_coll * e_HX + 4 * alpha * sigma_s * T_amb ^ 3 + h_c) ' e는 alpha 로 공유
|
||||
' h_dot_r = 4 * alpha * sigma_s * T_amb ^ 2 * (T_amb + 1.6 * t) ' e는 alpha 로 공유
|
||||
' eta = alpha / (1 + (h_dot_r + h_c) / (rho * C_p * Q_dot_coll * e_HX))
|
||||
|
||||
|
||||
' Delta_T_avl = (eta * G_tilt) / (Q_dot_coll * rho * C_p * h_sunlight)
|
||||
' T_del_avl = (T_amb + Delta_T_offset) + Delta_T_avl
|
||||
' T_del_act = Math.Min(T_del_max, T_del_avl)
|
||||
' Delta_T_act = Math.Max(T_del_act - (T_amb + Delta_T_offset), 0)
|
||||
|
||||
' 'f_util = Delta_T_act / Delta_T_avl
|
||||
|
||||
' 'Q_sol = Sigma(eta * G_coll * f_util)
|
||||
|
||||
|
||||
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
Private DSET As DS
|
||||
Private DSETR As DSR
|
||||
Private Result As CResult
|
||||
|
||||
@@ -421,6 +421,7 @@
|
||||
Select Case Dr신재생.기기종류.Trim
|
||||
Case "태양열" '//태양열
|
||||
Case "태양광" '//태양광
|
||||
Case "풍력" '//풍력
|
||||
Case "지열" '//지열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
@@ -441,6 +442,27 @@
|
||||
use_LPG = use_LPG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
End Select
|
||||
Case "수열" '//수열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_Elec = use_Elec + Q_c_f_hp + Q_c_g_hp_aux
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_LNG = use_LNG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_LPG = use_LPG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
End Select
|
||||
Case "풍력" '//풍력
|
||||
Case "열병합" '//열병합
|
||||
End Select
|
||||
End If
|
||||
@@ -758,6 +780,7 @@
|
||||
End If
|
||||
'========================================================================================2010.04.02 추가
|
||||
Case "태양광" '//태양광
|
||||
Case "풍력" '//풍력
|
||||
Case "지열" '//지열
|
||||
Case "열병합" '//열병합
|
||||
If Q_c_outg_therm > 0 Then '===========================2010.04.02 And Q_c_outg_therm > 0 추가
|
||||
@@ -1205,6 +1228,7 @@
|
||||
Select Case Dr신재생.기기종류.Trim
|
||||
Case "태양열" '//태양열
|
||||
Case "태양광" '//태양광
|
||||
Case "풍력" '//풍력
|
||||
Case "지열" '//지열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
@@ -1225,6 +1249,26 @@
|
||||
use_LPG = use_LPG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
End Select
|
||||
Case "수열" '//수열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_Elec = use_Elec + Q_c_f_hp + Q_c_g_hp_aux
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_LNG = use_LNG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
||||
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
||||
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
||||
use_LPG = use_LPG + Q_c_f_hp
|
||||
use_Elec = use_Elec + Q_c_g_hp_aux
|
||||
End Select
|
||||
Case "열병합" '//열병합
|
||||
End Select
|
||||
End If
|
||||
@@ -1540,6 +1584,7 @@
|
||||
End If
|
||||
'========================================================================================2010.04.02 추가
|
||||
Case "태양광" '//태양광
|
||||
Case "풍력" '//풍력
|
||||
Case "지열" '//지열
|
||||
Case "열병합" '//열병합
|
||||
If Q_c_outg_therm > 0 Then '===========================2010.04.02 And Q_c_outg_therm > 0 추가
|
||||
|
||||
@@ -102,7 +102,8 @@
|
||||
|
||||
'태양광 시스템
|
||||
Dim Calc_태양 As New CRenewable(DSET, Result) : Calc_태양.Calc_PhotovoltaicSystem_EN(i_count_month, d_mth)
|
||||
|
||||
'풍력 시스템
|
||||
Dim Calc_풍력 As New CRenewable(DSET, Result) : Calc_풍력.Calc_WindPowerGenerationSystem(i_count_month, d_mth)
|
||||
|
||||
Dim 급탕용량합 As Decimal = 0
|
||||
For Each Dr난방 As DS.tbl_nanbangkikiRow In DSET.tbl_nanbangkiki.Select("code<>'0' and 헤더적용=true", "code")
|
||||
@@ -460,6 +461,31 @@
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
End Select
|
||||
Case "수열" '//수열
|
||||
Select Case dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_Elec = use_Elec + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_LNG = use_LNG + Q_w_f_hp * system_count '===========2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
'//요기맞죠 ^^?
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_LPG = use_LPG + Q_w_f_hp * system_count '===========2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
End Select
|
||||
|
||||
Case Else
|
||||
'//160428
|
||||
If MsgBox("알수없는 기기종류" + vbCrLf + dr신재생.기기종류 + vbCrLf + _
|
||||
@@ -1038,9 +1064,30 @@
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
Case "수열" '//수열
|
||||
Select Case dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_Elec = use_Elec + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_LNG = use_LNG + Q_w_f_hp * system_count '===========2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
'//요기맞죠 ^^?
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, 3, dr신재생, Q_w_outg_i, i_count_month, d_op_max_mth, t_h, theta_g_m, theta_i, Q_wp_outg, Q_w_f_hp, Q_w_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_w_outg = Q_w_outg - Q_wp_outg
|
||||
Q_w_outg_i = Q_w_outg_i - Q_wp_outg
|
||||
use_LPG = use_LPG + Q_w_f_hp * system_count '===========2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_w_g_hp_aux * system_count '===========2013.08.18 수정
|
||||
Q_w_f = Q_w_f + (Q_w_f_hp + Q_w_g_hp_aux) * system_count '============================2010.04.17 추가, 2013.08.18 수정
|
||||
End Select
|
||||
End Select
|
||||
'End If
|
||||
End If
|
||||
@@ -1731,6 +1778,8 @@
|
||||
If DR존.열생산난방생산기기 = dr난방.code Then 판단1 = True
|
||||
If DR존.공조난방생산기기 = dr난방.code Then 판단2 = True
|
||||
|
||||
Q_h_ce_i = 0 '//20220525 수정
|
||||
|
||||
'//다시 생각을...
|
||||
|
||||
'If Worksheets("입력존").Range("입력난방생산기기1").Offset(0, i_count_zone - 1) <> "" And Worksheets("입력존").Range("입력난방생산기기1").Offset(0, i_count_zone - 1) = Worksheets("난방기기").Range("난방생산기기1").Offset(0, i_count_boiler - 1) Then
|
||||
@@ -2286,6 +2335,31 @@
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
End Select
|
||||
Case "수열" '//수열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_Elec = use_Elec + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_LNG = use_LNG + Q_h_f_hp * system_count '=============2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
'//요기맞죠 ^^?
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_LPG = use_LPG + Q_h_f_hp * system_count '=============2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
End Select
|
||||
|
||||
Case "열병합" '//열병합
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "난방유" '난방유"
|
||||
@@ -2854,6 +2928,8 @@
|
||||
If DR존.열생산난방생산기기 = dr난방.code Then 판단1 = True
|
||||
If DR존.공조난방생산기기 = dr난방.code Then 판단2 = True
|
||||
|
||||
Q_h_ce_i = 0 '//20220525 수정
|
||||
|
||||
'//다시 생각을...
|
||||
|
||||
'If Worksheets("입력존").Range("입력난방생산기기1").Offset(0, i_count_zone - 1) <> "" And Worksheets("입력존").Range("입력난방생산기기1").Offset(0, i_count_zone - 1) = Worksheets("난방기기").Range("난방생산기기1").Offset(0, i_count_boiler - 1) Then
|
||||
@@ -3391,6 +3467,31 @@
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
End Select
|
||||
Case "수열" '//수열
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "전기" '전기"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_Elec = use_Elec + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
Case "천연가스" '천연가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_LNG = use_LNG + Q_h_f_hp * system_count '=============2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
'//요기맞죠 ^^?
|
||||
Case "액화가스" '액화가스"
|
||||
CRenew.Calc_HydroHeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_h_outg_i, i_count_month, d_op_max_mth, t_h, theta_VA, theta_i, Q_hp_outg, Q_h_f_hp, Q_h_g_hp_aux) '=============2010.04.01 수정 Q_h_outg 를 Q_h_outg_i 로 수정
|
||||
Q_h_outg = Q_h_outg - Q_hp_outg
|
||||
Q_h_outg_i = Q_h_outg_i - Q_hp_outg
|
||||
use_LPG = use_LPG + Q_h_f_hp * system_count '=============2013.08.18 수정
|
||||
use_Elec = use_Elec + Q_h_g_hp_aux * system_count '=============2013.08.18 수정
|
||||
Q_h_f = Q_h_f + (Q_h_f_hp + Q_h_g_hp_aux) * system_count '=============2013.08.18 수정 '============================2010.04.17 추가
|
||||
End Select
|
||||
|
||||
Case "열병합" '//열병합
|
||||
Select Case Dr신재생.가동연료.Trim
|
||||
Case "난방유" '난방유"
|
||||
|
||||
@@ -665,6 +665,168 @@
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Overridable Sub Calc_HydroHeatpumpSystem(ByVal i_system_hp As Integer, ByVal i_HeatCool As Integer, ByVal Dr신재생 As DS.tbl_newRow, ByVal Q_hp_outg As Decimal, ByVal i_hp_month As Integer, _
|
||||
ByVal d_h_mth As Integer, ByVal t_hp As Integer, ByVal theta_VA As Decimal, ByVal theta_i As Decimal, ByRef Q_h_outg As Decimal, ByRef Q_h_f_hp As Decimal, ByRef Q_h_g_aux As Decimal)
|
||||
|
||||
pLog.Add(String.Format(">>HydroCalc_HeatpumpSystem 진입 : i_system_hp={0}, i_HeatCool={1},dr신재생={2},Q_hp_outg={3},i_hp_month={4},d_h_mth={5},t_hp={6},theta_VA={7},theta_i={8},Q_h_outg={9},Q_h_f_hp={10},Q_h_g_aux={11}", _
|
||||
i_system_hp, i_HeatCool, Dr신재생.code, Q_hp_outg, i_hp_month, d_h_mth, t_hp, theta_VA, theta_i, Q_h_outg, Q_h_f_hp, Q_h_g_aux))
|
||||
|
||||
|
||||
|
||||
Dim f_Verwindung As Decimal, V As Decimal, q_B_S As Decimal, Phi_g As Decimal
|
||||
Dim Q_h_g As Decimal, Q_h_g_s As Decimal, Q_h_g_WP As Decimal
|
||||
Dim P_rd_mot As Decimal
|
||||
'Dim Q_h_f_hp as decimal 'DIN 에서는 Q_h_f로 표기
|
||||
'Dim Delta_p_prim as decimal, Delta_p_sek as decimal
|
||||
Dim Phi_prim_aux As Decimal, Phi_sek_aux As Decimal, t_ON_aux As Decimal
|
||||
Dim theta_h_s As Decimal
|
||||
Dim COP, COP_L, COP_H, COP_b As Decimal
|
||||
Dim Q_h_outg_net As Decimal
|
||||
|
||||
|
||||
Q_h_g_s = 0
|
||||
Q_h_g_WP = 0 '전기히트펌프인 경우 0 가스히트펌프는 ?
|
||||
P_rd_mot = 0
|
||||
Q_h_f_hp = 0
|
||||
Q_h_outg_net = 0
|
||||
|
||||
|
||||
Dim water_temp As Single = 0.0F ' i_hp_month
|
||||
If Dr신재생.수열_수열원 = "하천수" Then
|
||||
|
||||
Dim Dr수온 As DS.weather_riverRow = CType(DSET.weather_river.Select("pcode='" & Calc.Pub.기상데이터.code + "'")(0), DS.weather_riverRow)
|
||||
water_temp = TOSG(Dr수온("M" + i_hp_month.ToString("00")))
|
||||
Else
|
||||
Dim Dr수온 As DS.weather_waterRow = CType(DSET.weather_water.Rows(0), DS.weather_waterRow)
|
||||
water_temp = TOSG(Dr수온("M" + i_hp_month.ToString("00")))
|
||||
End If
|
||||
|
||||
|
||||
'eta_aux = 0.3
|
||||
'Delta_p_prim = 40 'kPa 1차측
|
||||
'Delta_p_sek = 10 'kPa 2차측
|
||||
|
||||
'MsgBox(i_count_hp)
|
||||
|
||||
'i_count_hp = 0 '//신재생 줄번호는 무조건 0이된다. 20100127 '//연습용데이터 문제있음
|
||||
' Dim Dr신재생 As DS.tbl_newRow = CType(DSET.tbl_new.Rows(0), DS.tbl_newRow)
|
||||
|
||||
Phi_g = TOSG(Dr신재생.수열_수열히트펌프용량) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(0, i_count_hp - 1)
|
||||
|
||||
If Dr신재생.가동연료 <> "전기" And i_HeatCool = 1 And Dr신재생.수열_열교환기설치여부 = "예" Then ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(5, i_count_hp - 1) = "예" Then
|
||||
P_rd_mot = 0.4
|
||||
End If
|
||||
|
||||
If Q_hp_outg < (Phi_g * t_hp) * (1 + P_rd_mot) Then
|
||||
Q_h_outg = Q_hp_outg
|
||||
Else
|
||||
Q_h_outg = Phi_g * t_hp * (1 + P_rd_mot)
|
||||
End If
|
||||
|
||||
If i_HeatCool = 1 Or i_HeatCool = 3 Then '난방 1 , 냉방 2, 급탕 3
|
||||
'난방, 급탕
|
||||
If Dr신재생.수열_수열팽창탱크설치여부 = "예" Then ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(6, i_count_hp - 1) = "예" Then
|
||||
f_Verwindung = 1.2
|
||||
V = TOSG(Dr신재생.수열_수열팽창탱크체적) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(7, i_count_hp - 1)
|
||||
q_B_S = TOSG(0.4 + 0.14 * V ^ 0.45) '(51)
|
||||
theta_h_s = theta_VA '급수온도로 적용
|
||||
Q_h_g_s = f_Verwindung * (theta_h_s - theta_i) / 45 * d_h_mth * q_B_S '(49) 외부완충(팽창탱크 유무)
|
||||
|
||||
End If
|
||||
|
||||
Q_h_g = Q_h_g_s + Q_h_g_WP
|
||||
COP_L = TOSG(Dr신재생.수열_열성능비_난방5도) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(1, i_count_hp - 1)
|
||||
COP_H = TOSG(Dr신재생.수열_열성능비_난방15도) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(1, i_count_hp - 1)
|
||||
COP_b = COP_L - ((COP_H - COP_L) / 10 * 5)
|
||||
COP = (COP_H - COP_L) / 10 * (water_temp - 5) + COP_b '// 최저 최고 수열온도는 평균온도 대비 +- 5도로 변동되며, 지열과 형평성을 맞추기 위하여 보수적으로 5도 낮춤
|
||||
|
||||
Else
|
||||
'냉방
|
||||
|
||||
COP_L = TOSG(Dr신재생.수열_열성능비_냉방25도) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(1, i_count_hp - 1)
|
||||
COP_H = TOSG(Dr신재생.수열_열성능비_냉방35도) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(1, i_count_hp - 1)
|
||||
COP_b = COP_L - ((COP_H - COP_L) / 10 * 25)
|
||||
COP = (COP_H - COP_L) / 10 * (water_temp + 5) + COP_b '// 최저 최고 수열온도는 평균온도 대비 +- 5도로 변동되며, 지열과 형평성을 맞추기 위하여 보수적으로 5도 높임
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Dr신재생.가동연료 = "전기" Then ' Worksheets("신재생기기").Range("신재생및열병합기기종류1").Offset(1, i_count_hp - 1) = "전기" Then
|
||||
Q_h_f_hp = (Q_h_outg + Q_h_g) / COP
|
||||
' Q_h_in = Q_h_outg + Q_h_g - Q_h_f_hp '월간 전기히트펌프(재생에너지유입량)
|
||||
Else
|
||||
Q_h_f_hp = Q_h_outg / COP
|
||||
' If i_HeatCool = 1 And Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(5, i_count_hp - 1) = "예" Then
|
||||
' P_rd_mot = 0.4
|
||||
' End If
|
||||
' Q_h_in = Q_h_outg + Q_h_g - Q_h_f_hp * (1 + P_rd_mot) '월간 가스히트펌프(재생에너지유입량)
|
||||
End If
|
||||
|
||||
'Q_h_f = Q_h_outg + Q_h_g - k_rd_g * Q_h_g_aux - Q_h_in '월간(A.1) 전기히트펌프(난방요구량 충당)
|
||||
'Q_h_f = (Q_h_outg + Q_h_g - k_rd_g * Q_h_g_aux - Q_h_in) / (1 + P_rd_mot) '월간(A.2) 가스히트펌프(난방요구량 충당)
|
||||
|
||||
|
||||
'보조에너지
|
||||
|
||||
|
||||
'Phi_prim_aux = Delta_p_prim * V_dot / (eta_aux * 3600) '(89) 사용자 입력항목이므로 확인 요망
|
||||
'Phi_sek_aux = Delta_p_sek * V_dot / (eta_aux * 3600) '(89) 사용자 입력항목이므로 확인 요망
|
||||
|
||||
t_ON_aux = Q_h_outg / (Phi_g) '(81)
|
||||
Phi_prim_aux = TOSG(Dr신재생.수열_1차펌프동력) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(3, i_count_hp - 1)
|
||||
Phi_sek_aux = TOSG(Dr신재생.수열_2차펌프동력) ' Worksheets("신재생기기").Range("지열히트펌프용량1").Offset(4, i_count_hp - 1)
|
||||
|
||||
Q_h_g_aux = TOSG((Phi_prim_aux + Phi_sek_aux) * 0.001 * t_ON_aux) '(88)
|
||||
|
||||
|
||||
'// 신재생에너지 자립률 추가(2017.01.20)
|
||||
|
||||
If Dr신재생.가동연료 = "전기" Then
|
||||
Q_h_outg_net = Q_h_outg - ((Q_h_f_hp + Q_h_g_aux) * 2.75) '전기 1차에너지계수 적용
|
||||
If Q_h_outg_net < 0 Then Q_h_outg_net = 0
|
||||
|
||||
Else
|
||||
Q_h_outg_net = Q_h_outg - (Q_h_f_hp * 1.1 + Q_h_g_aux * 2.75) '가스 1차에너지계수 적용
|
||||
If Q_h_outg_net < 0 Then Q_h_outg_net = 0
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'// 신재생에너지 자립률 추가
|
||||
|
||||
|
||||
'//열에너지생산량 (수열)
|
||||
Result.생산E(i_hp_month).수열생산량 += Q_h_outg_net '//20170120 추가
|
||||
'// Result.생산E(i_hp_month).지열생산량 += Q_h_f_hp '20170120 지열생산량을 수정
|
||||
'DSETR.TReqUse.Rows(79)("M" & Format(i_hp_month, "00")) = CSng(DSETR.TReqUse.Rows(79)("M" & Format(i_hp_month, "00"))) + Q_h_f_hp 'DrT생산.열생산량지열 += Q_h_f_hp
|
||||
|
||||
pLog.Add(String.Format(">>Calc_HydroHeatpumpSystem 결과0 Q_h_f_hp={0},t_ON_aux={1},Q_h_g_aux={2}", _
|
||||
Q_h_f_hp, t_ON_aux, Q_h_g_aux))
|
||||
|
||||
pLog.Add(String.Format(">>Calc_HydroHeatpumpSystem 결과1 수열생산량={0}", _
|
||||
Result.생산E(i_hp_month).수열생산량))
|
||||
|
||||
'100 : Total >> DrT생산.단위면적당생산량지열
|
||||
Select Case i_system_hp
|
||||
Case 1
|
||||
Result.생산E(i_hp_month).면적당생산량수열 += (Q_h_outg_net / Result.사용면적.H) '//20170120 추가
|
||||
'//Result.생산E(i_hp_month).면적당생산량지열 += (Q_h_f_hp / Result.사용면적.H) '20170120 지열생산량을 수정
|
||||
'DSETR.TReqUse.Rows(100)("M00") = CSng(DSETR.TReqUse.Rows(100)("M00")) + Q_h_f_hp / CSng(DSETR.TReqUse.Rows(10)("M00")) ' DrT요구량.난방사용면적 ' Sheets("계산결과").Cells(15, 7)
|
||||
Case 2
|
||||
Result.생산E(i_hp_month).면적당생산량수열 += (Q_h_outg_net / Result.사용면적.C) '//20170120 추가
|
||||
'//Result.생산E(i_hp_month).면적당생산량지열 += (Q_h_f_hp / Result.사용면적.C) '20170120 지열생산량을 수정
|
||||
'DSETR.TReqUse.Rows(100)("M00") = CSng(DSETR.TReqUse.Rows(100)("M00")) + Q_h_f_hp / CSng(DSETR.TReqUse.Rows(15)("M00")) 'DrT요구량.냉방사용면적 '("계산결과").Cells(20, 7)
|
||||
Case 3
|
||||
Result.생산E(i_hp_month).면적당생산량수열 += (Q_h_outg_net / Result.사용면적.W) '//20170120 추가
|
||||
'//Result.생산E(i_hp_month).면적당생산량지열 += (Q_h_f_hp / Result.사용면적.W) '20170120 지열생산량을 수정
|
||||
End Select
|
||||
|
||||
pLog.Add(String.Format(">>Calc_HydroHeatpumpSystem 결과2 면적당생산량수열={0}", _
|
||||
Result.생산E(i_hp_month).면적당생산량수열))
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub Calc_CogenerationSystemEN(ByVal Dr신재생 As DS.tbl_newRow, i_system_chp As Integer, ByVal i_chp_month As Integer, ByVal Q_h_outg As Decimal, ByVal t_chp As Integer, _
|
||||
ByRef Q_chp_gen_out As Decimal, ByRef E_chp_gen_in As Decimal)
|
||||
|
||||
@@ -753,4 +915,70 @@
|
||||
End If
|
||||
'DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00")) = CSng(DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00"))) + E_el_chp_out ' Sheets("계산결과").Cells(96, 7 + i_chp_month) = E_el_chp_out
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub Calc_WindPowerGenerationSystem(ByVal i_count_wp_month As Integer, ByVal i_wp_d_mth As Integer)
|
||||
|
||||
pLog.Add(String.Format(">>Calc_WindPowerGenerationSystem 진입 : i_count_wp_month={0}, i_wp_d_mth={1}", _
|
||||
i_count_wp_month, i_wp_d_mth))
|
||||
|
||||
Dim f_v_WK, P_WEA_WK, P_Wind_WK, t_WK, A, A_Rotor, v_1, v_2, h_1, h_2 As Decimal
|
||||
Dim alpha, Q_f_prod_WEA, rho As Decimal
|
||||
Dim k As Integer
|
||||
Dim Q_f_prod_out, Q_f_prod_out_offsite As Decimal
|
||||
|
||||
k = 2
|
||||
alpha = 0.14 '표준조건
|
||||
Q_f_prod_WEA = 0
|
||||
Q_f_prod_out = 0
|
||||
Q_f_prod_out_offsite = 0
|
||||
rho = 1.225
|
||||
h_1 = 10
|
||||
|
||||
|
||||
|
||||
|
||||
For Each Dr신재생 As DS.tbl_newRow In DSET.tbl_new.Select("code <> '0'", "code")
|
||||
|
||||
If Dr신재생.기기종류 = "풍력" Then
|
||||
|
||||
Dim Drow풍속 As DS.weather_windRow = CType(DSET.weather_wind.Select("pcode='" & Calc.Pub.기상데이터.code & "'")(0), DS.weather_windRow)
|
||||
A_Rotor = TOSG(Dr신재생.풍력로우터회전면적)
|
||||
h_2 = TOSG(Dr신재생.풍력허브높이)
|
||||
|
||||
v_1 = TOSG(Drow풍속("M" + i_count_wp_month.ToString("00"))) ' 값을 정의하기 위해서 해당 지역 월 평균 풍속 데이터 필요
|
||||
v_2 = v_1 * Math.Pow((h_2 / h_1), alpha)
|
||||
|
||||
A = 2 * v_2 / Math.Sqrt(Math.PI)
|
||||
|
||||
For v_WK As Integer = 4 To 16
|
||||
|
||||
f_v_WK = k / A * Math.Pow((v_WK - 0.5) / A, k - 1) * Math.Exp(-Math.Pow(((v_WK - 0.5) / A), k))
|
||||
t_WK = 24 * i_wp_d_mth * f_v_WK
|
||||
P_Wind_WK = 1 / 2 * rho * A_Rotor * Math.Pow(v_WK, 3)
|
||||
P_WEA_WK = 0.2 * P_Wind_WK
|
||||
Q_f_prod_WEA += (P_WEA_WK * t_WK) / 1000
|
||||
|
||||
Next
|
||||
If Dr신재생.대지외설치여부_풍력 Then
|
||||
Q_f_prod_out_offsite += Q_f_prod_WEA
|
||||
Else
|
||||
Q_f_prod_out += Q_f_prod_WEA
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Result.생산E(i_count_wp_month).풍력전력생산량 += Q_f_prod_out
|
||||
Result.생산E(i_count_wp_month).풍력전력생산량_offsite += Q_f_prod_out_offsite
|
||||
|
||||
|
||||
pLog.Add(String.Format(">>Calc_WindPowerGenerationSystem 진입 : Q_f+prod_out={0}, 풍력전력생산량={1}", _
|
||||
Q_f_prod_out, Result.생산E(i_count_wp_month).풍력전력생산량))
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -616,6 +616,11 @@
|
||||
Next
|
||||
Set_ReqUseRow("310", "전기에너지 생산량(태양광)", "[kWh]", CStr(Result.E변환계수.전력), "=", Array) '//67
|
||||
Array.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.생산E(i).풍력전력생산량)
|
||||
Next
|
||||
Set_ReqUseRow("310", "전기에너지 생산량(풍력)", "[kWh]", CStr(Result.E변환계수.전력), "=", Array) '//67
|
||||
Array.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.생산E(i).열병합전력생산량)
|
||||
Next
|
||||
@@ -631,6 +636,12 @@
|
||||
Next
|
||||
Set_ReqUseRow("310", "열에너지 생산량(지열)", "[kWh]", "", "=", Array)
|
||||
Array.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.생산E(i).수열생산량)
|
||||
Next
|
||||
Set_ReqUseRow("310", "열에너지 생산량(수열)", "[kWh]", "", "=", Array)
|
||||
Array.Clear()
|
||||
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.생산E(i).면적당생산량태양열)
|
||||
Next
|
||||
@@ -643,6 +654,12 @@
|
||||
|
||||
Set_ReqUseRow("310", "단위면적당 생산량(지열)", "[kWh]", "", "=", Array, "N1") '//72
|
||||
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.생산E(i).면적당생산량수열)
|
||||
Next
|
||||
|
||||
Set_ReqUseRow("310", "단위면적당 생산량(수열)", "[kWh]", "", "=", Array, "N1") '//72
|
||||
|
||||
|
||||
'//CO2배출량
|
||||
Array.Clear()
|
||||
@@ -830,6 +847,11 @@
|
||||
Next
|
||||
Set_ReqUseRow("410", "전력 CO2 저감량(태양광)", "[kg CO2]", CStr(Result.Co2배출계수.전력), "=", Array) '//102
|
||||
Array.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.Co2발생량(i).저감량풍력)
|
||||
Next
|
||||
Set_ReqUseRow("410", "전력 CO2 저감량(풍력)", "[kg CO2]", CStr(Result.Co2배출계수.전력), "=", Array) '//102
|
||||
Array.Clear()
|
||||
For i As Integer = 0 To 12
|
||||
Array.Add(Result.Co2발생량(i).저감량열병합)
|
||||
Next
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
Dim Q_V_win_sink As Decimal, Q_V_win_source As Decimal, H_V_win As Decimal, n_win As Decimal
|
||||
Dim zone_count As Decimal '//2012.07.08 추가 입력존의 수
|
||||
|
||||
Dim Delta_theta_AUL, V_dot_A_AHU As Decimal
|
||||
|
||||
'Dim priod_value As Single = 0
|
||||
Dim age As Decimal = 1 '//준공연도에 의한 경년변화값
|
||||
'For Each DRpriod As DS.tbl_DescRow In DSET.tbl_Desc.Select("cname<>'0'", "cname")
|
||||
@@ -190,15 +192,90 @@
|
||||
'Q_I_L = 0 'mu_L*Q_I_L_elektr (2-123)추후 추가
|
||||
End If
|
||||
|
||||
''/// 공기식 태양열 적용여부 확인
|
||||
'Delta_theta_AUL = 0
|
||||
'V_dot_A_AHU = 0
|
||||
|
||||
'If DR존.냉난방공조처리시스템 <> "0" Then
|
||||
' Dim Dr공조() As DS.tbl_kongjoRow = DSET.tbl_kongjo.Select("code='" & DR존.냉난방공조처리시스템 & "' and code <> '0'", "code")
|
||||
' If Dr공조.Length = 1 AndAlso i_count_month > 0 Then
|
||||
' If Dr공조(0).공기식태양열적용 = "예" Then
|
||||
|
||||
' V_dot_A_AHU = Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, Dr공조(0).code)
|
||||
|
||||
' '해당 존에 연결된 공조기에 연결된 입력존*입력존수*최소외기도입량 의 합계 산출(V_dot_A_AHU)
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' Delta_theta_AUL = SolarAirHeatingSystem(DSET, i_count_month, d_op_mth, Dr공조(0), V_dot_A_AHU, Calc.Pub.theta_e(i_count_month), Delta_theta_AUL)
|
||||
|
||||
|
||||
' End If
|
||||
' End If
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
V_mech_outdoor = 1 '외기처리 관련 (ZZ=사용안함 Y=예)
|
||||
If DR존.냉난방방식 <> "기능없음" And DR존.냉난방공조 <> "기능없음" And DR존.외기부하처리여부 = "예" Then
|
||||
If i_count_HeatCool = 1 Then '//난방이라면
|
||||
If DR존.냉난방공조 <> "난방" AndAlso DR존.냉난방공조 <> "냉난방" Then '난방/냉난방 이 아니면!
|
||||
If theta_i_h_soll > Calc.Pub.theta_e(i_count_month) Then '//난방설정온도 > 외기온도(난방기)
|
||||
Q_vh_b_op = V_mech * (theta_i_h_soll - Calc.Pub.theta_e(i_count_month)) * t_h_op_d * c_p_arhoa * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
|
||||
V_mech_outdoor = 0 ' 외기처리된 상태인 경우
|
||||
'Log.AppendLine(" >> 외기처리됨")
|
||||
End If
|
||||
'If theta_i_h_soll > (Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL) Then '//난방설정온도 > 외기온도(난방기)
|
||||
' Q_vh_b_op = V_mech * (theta_i_h_soll - (Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL)) * t_h_op_d * c_p_arhoa * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
|
||||
' V_mech_outdoor = 0 ' 외기처리된 상태인 경우
|
||||
' 'Log.AppendLine(" >> 외기처리됨")
|
||||
'End If
|
||||
|
||||
'If theta_i_h_soll > Calc.Pub.theta_e(i_count_month) Then '//난방설정온도 > 외기온도(난방기)
|
||||
' Q_vh_b_op = V_mech * (theta_i_h_soll - Calc.Pub.theta_e(i_count_month)) * t_h_op_d * c_p_arhoa * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
|
||||
' V_mech_outdoor = 0 ' 외기처리된 상태인 경우
|
||||
' 'Log.AppendLine(" >> 외기처리됨")
|
||||
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
'If DR존.냉난방공조처리시스템 <> "0" Then
|
||||
|
||||
' Dim Dr공조 As DS.tbl_kongjoRow = DSET.tbl_kongjo.Select("code='" & DR존.냉난방공조처리시스템 & "' and code <> '0'", "code")(0)
|
||||
' If DR공조.공기식태양열적용 = "예" Then
|
||||
|
||||
' V_dot_A_AHU = Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, Dr공조.code)
|
||||
|
||||
|
||||
' '해당 존에 연결된 공조기에 연결된 입력존*입력존수*최소외기도입량 의 합계 산출(V_dot_A_AHU)
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' '/////////////
|
||||
' Delta_theta_AUL = SolarAirHeatingSystem(DSET, i_count_month, d_op_mth, Dr공조, V_dot_A_AHU, Calc.Pub.theta_e(i_count_month), Delta_theta_AUL)
|
||||
|
||||
' If theta_i_h_soll > (Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL) Then '//난방설정온도 > 외기온도(난방기)
|
||||
' Q_vh_b_op = V_mech * (theta_i_h_soll - (Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL)) * t_h_op_d * c_p_arhoa * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
|
||||
' V_mech_outdoor = 0 ' 외기처리된 상태인 경우
|
||||
' 'Log.AppendLine(" >> 외기처리됨")
|
||||
' End If
|
||||
' Else
|
||||
|
||||
|
||||
' End If
|
||||
'Else
|
||||
' '//ㄱ
|
||||
'End If
|
||||
''For Each Dr공조 As DS.tbl_kongjoRow In DSET.tbl_kongjo.Select("code='" & DR존.냉난방공조처리시스템 & "' and code <> '0'", "code")
|
||||
|
||||
''Next
|
||||
|
||||
|
||||
End If
|
||||
Else
|
||||
If DR존.냉난방공조 <> "냉방" AndAlso DR존.냉난방공조 <> "냉난방" Then '냉방/냉난방이 아닐경우
|
||||
@@ -391,23 +468,58 @@
|
||||
'theta_V_mech = theta_e(i_count_month) + eta_V_mech * (theta_i - theta_e(i_count_month)) '(2-91) 비제어적 열교환 eta_V_mech은 사용자입력
|
||||
theta_V_mech_RLT = TOSG(IIf(i_count_HeatCool = 1, 27, 16))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
theta_V_mech = Calc.Pub.theta_e(i_count_month) 'theta_V_mech_RLT '(2-92) 공조처리된 급기온도(도표 3-3, 3-4, 7-5) 난방 27, 냉방 16으로 설정
|
||||
|
||||
pLog.Add(String.Format("theta_i:{0},theta_z:{1},theta_u:{2},theta_V_mech_RLT:{3},theta_V_mech:{4}", theta_i, theta_z, theta_u, theta_V_mech_RLT, theta_V_mech))
|
||||
|
||||
|
||||
|
||||
|
||||
'=======================================================================2010.02.04 추가부분 시작
|
||||
If DR존.냉난방공조처리시스템 <> "0" And DR존.냉난방공조 = "환기" Then '//냉난방공조처리시스템이 선택되어있고 공조가 환기라면
|
||||
'//공조처리스템과 일치하는 공조기기(tbl_kongjo) 를 찾아서 계산한다.
|
||||
Dim DR() As DS.tbl_kongjoRow = CType(DSET.tbl_kongjo.Select("code='" & DR존.냉난방공조처리시스템 & "' and code <> '0'"), DS.tbl_kongjoRow())
|
||||
|
||||
'/// 공기식 태양열 적용여부 확인
|
||||
Delta_theta_AUL = 0
|
||||
V_dot_A_AHU = 0
|
||||
|
||||
|
||||
If i_count_month > 0 Then
|
||||
If DR(0).공기식태양열적용 = "예" Then
|
||||
|
||||
V_dot_A_AHU = Get_V_dot_A_AHU(DSET.tbl_profile, DSET.tbl_zone, DR(0).code)
|
||||
|
||||
'해당 존에 연결된 공조기에 연결된 입력존*입력존수*최소외기도입량 의 합계 산출(V_dot_A_AHU)
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
'/////////////
|
||||
Delta_theta_AUL = SolarAirHeatingSystem(DSET, i_count_month, d_op_mth, DR(0), V_dot_A_AHU, Calc.Pub.theta_e(i_count_month), Delta_theta_AUL)
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If DR.GetUpperBound(0) = 0 Then
|
||||
Select Case DR(0).열교환기유형.Trim
|
||||
Case "현열교환", "전열교환" '//현열교환,전열교환
|
||||
Phi = TOSG(DR(0).열회수율) ' Worksheets("공조처리시스템").Range("열교환기1").Offset(1, i_count_AHU - 1)
|
||||
theta_V_mech = Calc.Pub.theta_e(i_count_month) + Phi * (theta_i - Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL)
|
||||
Case Else
|
||||
Phi = 0
|
||||
theta_V_mech = Calc.Pub.theta_e(i_count_month) + Delta_theta_AUL
|
||||
End Select
|
||||
theta_V_mech = Calc.Pub.theta_e(i_count_month) + Phi * (theta_i - Calc.Pub.theta_e(i_count_month))
|
||||
|
||||
Else
|
||||
MsgBox(DR존.설명 & "존의 냉난방공조처리스템(" & DR존.냉난방공조처리시스템 & ") 의값이 일치하지않습니다", MsgBoxStyle.Critical, "확인")
|
||||
End If
|
||||
@@ -874,7 +986,7 @@
|
||||
|
||||
|
||||
pLog.Add("환기소요량 시작")
|
||||
Calc.AirHandling.Calc_AirHandling(i_count_month, d_full_mth) '//환기? '========2010.2.21 수정
|
||||
Calc.AirHandling.Calc_AirHandling(i_count_month, d_full_mth, theta_e_month) '//환기? '========2010.2.21 수정
|
||||
|
||||
'//
|
||||
If Result.E분석(i_count_month).난방에너지요구량 <> 0 Then
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
Exit While
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
'//변경될 온도정보를 가지고 다시 계산합니다.
|
||||
If Me.Start("설계개선작업(" + (오차계산횟수 + 1).ToString() + "/" + 오차재계산횟수.ToString + ")" + vbCrLf + vbCrLf + _
|
||||
@@ -346,6 +346,8 @@
|
||||
'log.AppendLine(">>주계산시작")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'//사용자가입력한 1차에너지사용량(=월별에너지사용량)을 변환계수를 이용해 값을 생성한다.
|
||||
DSETR1.월별1차에너지사용량.Rows.Clear() : DSETR2.월별1차에너지사용량.Rows.Clear()
|
||||
DSETR1.월별1차에너지사용량.AcceptChanges() : DSETR2.월별1차에너지사용량.AcceptChanges()
|
||||
@@ -356,6 +358,8 @@
|
||||
DSETR2.월별1차에너지사용량.Merge(DSETR1.월별1차에너지사용량)
|
||||
DSETR2.월별1차에너지사용량.AcceptChanges()
|
||||
|
||||
|
||||
|
||||
Dim Retval As Boolean
|
||||
Select Case CalcType
|
||||
Case ECalc.All
|
||||
@@ -527,6 +531,15 @@
|
||||
'DSET.tbl_kongjo.AcceptChanges()
|
||||
DSET.AcceptChanges()
|
||||
|
||||
'
|
||||
Dim waterok As Boolean = True
|
||||
For Each dr As DS.tbl_newRow In DSET1.tbl_new.Rows
|
||||
If dr.기기종류 = "수열" AndAlso dr.가동연료.Contains("없음") Then '//
|
||||
MsgBox("수열시스템의 가동연료가 정의되어 있지 않습니다.")
|
||||
Return False
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
'//그값이 존에잇어요?cnrkehlsrp?추가된게?공조기기요
|
||||
For Each Dr As DS.tbl_zoneRow In DSET.tbl_zone.Select("code <> '0'") '//모든존을 검사 없음(0)은 빼고
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
Next
|
||||
Return R
|
||||
Else
|
||||
Return Me.난방소요량 + Me.냉방소요량 + Me.급탕소요량 + Me.조명소요량 + Me.환기소요량 - (Result.생산E(MIdx).태양광전력생산량 * Result.E변환계수.전력) - (Result.생산E(MIdx).열병합전력생산량 * Result.E변환계수.전력)
|
||||
Return Me.난방소요량 + Me.냉방소요량 + Me.급탕소요량 + Me.조명소요량 + Me.환기소요량 - ((Result.생산E(MIdx).태양광전력생산량 + Result.생산E(MIdx).풍력전력생산량) * Result.E변환계수.전력) - (Result.생산E(MIdx).열병합전력생산량 * Result.E변환계수.전력)
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
@@ -103,7 +103,7 @@
|
||||
Me.난방LPG * Result.E변환계수.LPG + Me.난방지역 * Result.E변환계수.지역난방 + _
|
||||
Me.난방전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
Me.난방LPG * Result.E변환계수.지역난방 + Me.난방지역 * Result.E변환계수.지역난방 + _
|
||||
Me.난방전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
Me.난방LPG * Result.E변환계수.LPG + Me.난방지역 * Result.E변환계수.지역난방 + _
|
||||
Me.난방전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
Me.냉방LPG * Result.E변환계수.LPG + Me.냉방지역난방열 * Result.E변환계수.지역난방 + _
|
||||
Me.냉방지역냉방열 * Result.E변환계수.지역냉방 + Me.냉방전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.냉방전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -488,7 +488,7 @@
|
||||
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
|
||||
'#End If
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -522,7 +522,7 @@
|
||||
Me.급탕LPG * Result.E변환계수.지역난방 + Me.급탕지역 * Result.E변환계수.지역난방 + _
|
||||
Me.급탕전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -532,7 +532,7 @@
|
||||
Me.급탕LPG * Result.E변환계수.LPG + Me.급탕지역 * Result.E변환계수.지역난방 + _
|
||||
Me.급탕전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -700,7 +700,11 @@
|
||||
Dim R As Decimal = 조명전력 * Result.E변환계수.전력
|
||||
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Dim a As Decimal = Result.생산E(0).태양광전력생산량
|
||||
Dim b As Decimal = Result.생산E(0).풍력전력생산량
|
||||
Dim c As Decimal = Result.생산E(0).열병합전력생산량
|
||||
Dim sumdata As Decimal = a + b + c
|
||||
Return R - (sumdata) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.조명전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -742,7 +746,7 @@
|
||||
If MIdx = 0 Then
|
||||
Dim R As Decimal = 환기전력 * Result.E변환계수.전력
|
||||
Try
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
|
||||
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.환기전력 * Result.E변환계수.전력
|
||||
Catch ex As Exception
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
If MIdx = 0 Then '//최종합계는 저람량을 제하지않는다?
|
||||
Return Me.난방발생량 + Me.냉방발생량 + Me.급탕발생량 + Me.조명발생량 + Me.환기발생량
|
||||
Else
|
||||
Return Me.난방발생량 + Me.냉방발생량 + Me.급탕발생량 + Me.조명발생량 + Me.환기발생량 - Me.저감량태양광 - Me.저감량열병합
|
||||
Return Me.난방발생량 + Me.냉방발생량 + Me.급탕발생량 + Me.조명발생량 + Me.환기발생량 - Me.저감량태양광 - Me.저감량풍력 - Me.저감량열병합
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
@@ -29,7 +29,7 @@
|
||||
If MIdx = 0 Then
|
||||
Dim R As Decimal = Me.난방등유 + Me.난방LNG + Me.난방LPG + Me.난방지역 + Me.난방전력
|
||||
Try
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.난방전력
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광 + Me.저감량풍력) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.난방전력
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -133,7 +133,7 @@
|
||||
Dim R As Decimal = Me.냉방등유 + Me.냉방LNG + Me.냉방LPG + Me.냉방지역난방열 + Me.냉방지역냉방열 + Me.냉방전력
|
||||
If MIdx = 0 Then
|
||||
Try
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.냉방전력
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광 + Me.저감량풍력) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.냉방전력
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -249,7 +249,7 @@
|
||||
If MIdx = 0 Then
|
||||
Dim R As Decimal = Me.급탕등유 + Me.급탕LNG + Me.급탕LPG + Me.급탕지역 + Me.급탕전력
|
||||
Try
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.급탕전력
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광 + Me.저감량풍력) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.급탕전력
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -352,7 +352,7 @@
|
||||
If MIdx = 0 Then
|
||||
Dim R As Decimal = Me.조명전력
|
||||
Try
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.조명전력
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광 + Me.저감량풍력) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.조명전력
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -390,7 +390,7 @@
|
||||
If MIdx = 0 Then
|
||||
Dim R As Decimal = Me.환기전력
|
||||
Try
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.환기전력
|
||||
Return R - (Me.저감량열병합 + Me.저감량태양광 + Me.저감량풍력) / (Me.난방전력 + Me.냉방전력 + Me.조명전력 + Me.환기전력 + Me.급탕전력) * Me.환기전력
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -436,6 +436,20 @@
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property 저감량풍력() As Decimal
|
||||
Get
|
||||
If Me.MIdx = 0 Then
|
||||
Dim Res As Decimal = 0
|
||||
For i As Short = 1 To 12
|
||||
Res += Result.Co2발생량(i).저감량풍력
|
||||
Next
|
||||
Return Res
|
||||
Else
|
||||
Return Result.생산E(MIdx).풍력전력생산량 * Result.Co2배출계수.전력
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
ReadOnly Property 저감량열병합() As Decimal
|
||||
Get
|
||||
If Me.MIdx = 0 Then
|
||||
|
||||
@@ -100,6 +100,63 @@ Public Class C생산에너지
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Property 풍력전력생산량() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
'MsgBox(ErrMsg)
|
||||
Return 0
|
||||
Else
|
||||
If MIdx = 0 Then '//0월이면 모든월의 합계를 반환한다.
|
||||
Dim Res As Decimal = 0
|
||||
For i As Short = 1 To 12
|
||||
Res += Result.생산E(i).풍력전력생산량
|
||||
Next
|
||||
Return Res
|
||||
Else
|
||||
Return TOSG(DR(0)("전력풍력"))
|
||||
End If
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Decimal)
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
MsgBox(ErrMsg)
|
||||
Else
|
||||
' MsgBox("풍력기록(" & Mon & ")")
|
||||
DR(0)("전력풍력") = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Property 풍력전력생산량_offsite() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
'MsgBox(ErrMsg)
|
||||
Return 0
|
||||
Else
|
||||
If MIdx = 0 Then '//0월이면 모든월의 합계를 반환한다.
|
||||
Dim Res As Decimal = 0
|
||||
For i As Short = 1 To 12
|
||||
Res += Result.생산E(i).풍력전력생산량_offsite
|
||||
Next
|
||||
Return Res
|
||||
Else
|
||||
Return TOSG(DR(0)("전력풍력offsite"))
|
||||
End If
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Decimal)
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
MsgBox(ErrMsg)
|
||||
Else
|
||||
' MsgBox("풍력기록(" & Mon & ")")
|
||||
DR(0)("전력풍력offsite") = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property 열병합전력생산량() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
@@ -241,6 +298,35 @@ Public Class C생산에너지
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Property 수열생산량() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
'MsgBox(ErrMsg)
|
||||
Return 0
|
||||
Else
|
||||
If MIdx = 0 Then '//0월이면 모든월의 합계를 반환한다.
|
||||
Dim Res As Decimal = 0
|
||||
For i As Short = 1 To 12
|
||||
Res += Result.생산E(i).수열생산량
|
||||
Next
|
||||
Return Res
|
||||
Else
|
||||
Return TOSG(DR(0)("생산량수열"))
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Decimal)
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
MsgBox(ErrMsg)
|
||||
Else
|
||||
DR(0)("생산량수열") = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Property 면적당생산량태양열() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
@@ -269,6 +355,34 @@ Public Class C생산에너지
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Property 면적당생산량수열() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
'MsgBox(ErrMsg)
|
||||
Return 0
|
||||
Else
|
||||
If MIdx = 0 Then '//0월이면 모든월의 합계를 반환한다.
|
||||
Dim Res As Decimal = 0
|
||||
For i As Short = 1 To 12
|
||||
Res += Result.생산E(i).면적당생산량수열
|
||||
Next
|
||||
Return Res
|
||||
Else
|
||||
Return TOSG(DR(0)("면적당생산량수열"))
|
||||
End If
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Decimal)
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
If DR.GetUpperBound(0) = -1 Then
|
||||
MsgBox(ErrMsg)
|
||||
Else
|
||||
DR(0)("면적당생산량수열") = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property 면적당생산량지열() As Decimal
|
||||
Get
|
||||
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
|
||||
@@ -296,5 +410,6 @@ Public Class C생산에너지
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
@@ -67,11 +67,11 @@
|
||||
Me.급탕보조 = I60
|
||||
|
||||
If (I4 + I5 + I6 + I7 + I8 <> 0) Then
|
||||
Me.난방S = IH - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I4
|
||||
Me.냉방S = IC - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I5
|
||||
Me.조명S = IL - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I6
|
||||
Me.급탕S = IW - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I7
|
||||
Me.환기S = IV - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I8
|
||||
Me.난방S = IH - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I4
|
||||
Me.냉방S = IC - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I5
|
||||
Me.조명S = IL - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I6
|
||||
Me.급탕S = IW - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I7
|
||||
Me.환기S = IV - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I8
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user