Commit 8c78e1f6 张东亮

温湿度计算修改

1 个父辈 8e40f615
...@@ -106,31 +106,83 @@ namespace OnlineStore.DeviceLibrary ...@@ -106,31 +106,83 @@ namespace OnlineStore.DeviceLibrary
List<double> data = queryData(port ); List<double> data = queryData(port );
if (data.Count.Equals(3)) if (data.Count.Equals(3))
{ {
double humidityadjust = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_HumidityAdjust); //double humidityadjust = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_HumidityAdjust);
double humiditylimited = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_HumidityLimited); //double humiditylimited = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_HumidityLimited);
if (humidityadjust != 0 && humiditylimited != 0) //if (humidityadjust != 0 && humiditylimited != 0)
//{
// if (data[0] + humidityadjust < humiditylimited)
// {
// data[0] = humiditylimited;
// }
// else
// data[0] += humidityadjust;
//}
data[0] = ProcessHumity(data[0]);
//double tempadjust = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_TemptureAdjust);
//double templimited = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_TemptureLimited);
//if (tempadjust != 0 && templimited != 0)
//{
// if (data[1] + tempadjust < templimited)
// {
// data[1] = templimited;
// }
// else
// data[1] += tempadjust;
//}
data[1] = ProcessTemp(data[1]);
param = new HumitureParam(data[1], data[0], data[2]);
}
return param;
}
/// <summary>
/// 温度数据处理
/// </summary>
/// <param name="nowTemp"></param>
/// <returns></returns>
private static double ProcessTemp(double nowTemp)
{ {
if (data[0] + humidityadjust < humiditylimited) double temp = nowTemp;
double minVal = 5;//ConfigHelper.Config.Get("TempThreshold_Min", 5);
double midVal = 14;// ConfigHelper.Config.Get("TempThreshold_Mid", 14);
double maxVal = 20;// ConfigHelper.Config.Get("TempThreshold_Max", 20);
//温度计算
if (nowTemp <= minVal)
{ {
data[0] = humiditylimited; return temp;
}
else
data[0] += humidityadjust;
} }
double tempadjust = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_TemptureAdjust); else if (nowTemp <= midVal)
double templimited = (double)ConfigAppSettings.GetNumValue(Setting_Init.Device_TemptureLimited);
if (tempadjust != 0 && templimited != 0)
{ {
if (data[1] + tempadjust < templimited) temp = (nowTemp - minVal) * 0.6 + minVal;
}
else if (nowTemp < maxVal)
{ {
data[1] = templimited; temp = (nowTemp - 11) * (nowTemp - 10) / 10 + 11;
} }
else
data[1] += tempadjust; return Math.Round(temp, 1);
} }
param = new HumitureParam(data[1], data[0], data[2]); /// <summary>
/// 湿度数据处理
/// </summary>
/// <param name="nowHumity"></param>
/// <returns></returns>
private static double ProcessHumity(double nowHumity)
{
double temp = nowHumity;
double minVal = ConfigHelper.Config.Get("HumidityThreshold_Min", 5);
double maxVal = ConfigHelper.Config.Get("HumidityThreshold_Max", 17);
double coefVal = ConfigHelper.Config.Get("HumidityThreshold_Coef", 0.4);
//湿度计算
if (nowHumity <= minVal)
{
return temp;
} }
return param; else if (nowHumity <= maxVal)
{
temp = (nowHumity - minVal) * coefVal + minVal;
}
return Math.Round(temp, 1);
} }
/// <summary> /// <summary>
/// 返回温度和湿度 /// 返回温度和湿度
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!