过冷度和过热度和干度计算 验证OK,但是会弹窗找不到R134A文件

This commit is contained in:
2025-11-02 21:48:22 +08:00
parent 585ad7c1aa
commit 149ba2f5f8

View File

@@ -299,12 +299,12 @@ namespace CapMachine.Wpf.Services
IRefProp64.WMOLdll(x, ref wm);
//p = Convert.ToDouble(textBox2.Text) * 1000.0;//textBox2 Comp.吸气压力(Mpa
p = (InhPressTag.PVModel.EngValue) * 1000.0;//textBox2 Comp.吸气压力(Mpa
//p = Convert.ToDouble(textBox2.Text) * 1000.0;//textBox2 Comp.吸气压力(kpa
p = (InhPressTag.PVModel.EngValue) * 100.0;//textBox2 Comp.吸气压力(kpa
kph = 1;
p1 = (TxvFrPressTag.PVModel.EngValue) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
//p1 = Convert.ToDouble(textBox3.Text) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
p1 = (TxvFrPressTag.PVModel.EngValue) * 100.0;//textBox3 Evap.膨胀阀前压力Mpa
//p1 = Convert.ToDouble(textBox3.Text) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
IRefProp64.SATPdll(ref p, x, ref kph, ref te, ref Dl, ref Dv, xliq, xvap, ref iErr, ref herr, ref herrLen);
if (iErr == 0)
@@ -320,6 +320,10 @@ namespace CapMachine.Wpf.Services
else
Subcool.PVModel.EngValue = 0;
//干度技术
//气体流量kg/h=冷媒流量kg/h-液冷媒流量kg/h
var GasFlowKgPerH = VRVTag.PVModel.EngValue - LiqRefFlowTag.PVModel.EngValue;//气体流量kg/h
@@ -330,7 +334,7 @@ namespace CapMachine.Wpf.Services
var Gas_kJkgK = 0.0;
//步骤1:计算气路阀前气相焓h vap(单相气相)
if (TryTPRHO_VaporDensity_ByTP_MPa_C(GasPreValvePressTag.PVModel.EngValue, GasPreValveTempTag.PVModel.EngValue, out var D_molL, out var D_molLErr1))
if (TryTPRHO_VaporDensity_ByTP_MPa_C(GasPreValvePressTag.PVModel.EngValue * 0.1, GasPreValveTempTag.PVModel.EngValue, out var D_molL, out var D_molLErr1))
{
if (TryTHERM_VaporEntropy_ByTD(GasPreValveTempTag.PVModel.EngValue, D_molL, out var s_kJkgK, out var D_molLErr2))
{
@@ -344,7 +348,7 @@ namespace CapMachine.Wpf.Services
//步骤2:计算液路阀前气相焓hlig(单相液相) TxvFrTempTag 液体阀前温度 TxvFrPressTag 液体阀前压力
// 1) 先求 D_liq
if (TryTPRHO_LiquidDensity_ByTP_MPa_C(TxvFrPressTag.PVModel.EngValue, TxvFrTempTag.PVModel.EngValue, out var D_liq_molL, out var D_liqErr1))
if (TryTPRHO_LiquidDensity_ByTP_MPa_C(TxvFrPressTag.PVModel.EngValue * 0.1, TxvFrTempTag.PVModel.EngValue, out var D_liq_molL, out var D_liqErr1))
{
// 2) 再用 THERM 求 h_liq
if (TryTHERM_LiquidEnthalpy_ByTD(TxvFrTempTag.PVModel.EngValue, D_liq_molL, out var h_liq_kJkg, out var D_liqErr2))
@@ -367,8 +371,8 @@ namespace CapMachine.Wpf.Services
//定义饱和气质量焓hl k)/kg
var Gas_h_vap = 0.0;
if (TryGetSaturationLiquidEnthalpy_ByP_MPa(InhPressTag.PVModel.EngValue * 10, out var h_liq, out var h_liqErr1) &&
TryGetSaturationVaporEnthalpy_ByP_MPa(InhPressTag.PVModel.EngValue * 10, out var h_vap, out var h_vapErr2))
if (TryGetSaturationLiquidEnthalpy_ByP_MPa(InhPressTag.PVModel.EngValue * 0.1, out var h_liq, out var h_liqErr1) &&
TryGetSaturationVaporEnthalpy_ByP_MPa(InhPressTag.PVModel.EngValue * 0.1, out var h_vap, out var h_vapErr2))
{
// h_liq / h_vap 即为图片右侧的两个“饱和液/饱和气 质量焓 kJ/kg”
Liquid_h_liq = h_liq;
@@ -386,7 +390,7 @@ namespace CapMachine.Wpf.Services
out var GasValue, out var hMix, out var err))
{
// x 为最终干度 [0..1]hMix 为混合后比焓
DrynessTag.PVModel.EngValue = GasValue;
DrynessTag.PVModel.EngValue = GasValue * 100.0;
}
else
{
@@ -531,7 +535,7 @@ namespace CapMachine.Wpf.Services
}
// J/(mol·K) -> kJ/(kg·K):先除以 kg/mol再乘 0.001
entropy_kJ_per_kgK = (sJmolK / molarMassKgPerMol) * 0.001;
entropy_kJ_per_kgK = (hJmol / molarMassKgPerMol) * 0.001;
return true;
}