Commit 623ca9a2 张东亮

温湿度计算修改

1 个父辈 49c6daa7
...@@ -98,28 +98,80 @@ namespace OnlineStore.Common ...@@ -98,28 +98,80 @@ namespace OnlineStore.Common
List<double> data = queryData(); List<double> data = queryData();
if (data.Count.Equals(3)) if (data.Count.Equals(3))
{ {
if (Setting_Init.Device_HumidityAdjust != 0 && Setting_Init.Device_HumidityLimited != 0) //if (Setting_Init.Device_HumidityAdjust != 0 && Setting_Init.Device_HumidityLimited != 0)
//{
// if (data[0] + Setting_Init.Device_HumidityAdjust < Setting_Init.Device_HumidityLimited)
// {
// data[0] = Setting_Init.Device_HumidityLimited;
// }
// else
// data[0] += Setting_Init.Device_HumidityAdjust;
//}
data[0] = ProcessHumity(data[0]);
//if (Setting_Init.Device_TemptureAdjust != 0 && Setting_Init.Device_TemptureLimited != 0)
//{
// if (data[1] + Setting_Init.Device_TemptureAdjust < Setting_Init.Device_TemptureLimited)
// {
// data[1] = Setting_Init.Device_TemptureLimited;
// }
// else
// data[1] += Setting_Init.Device_TemptureAdjust;
//}
data[1] = ProcessTemp(data[1]);
param = new ASTemperateParam(data[1], data[0], data[2]);
}
LastData = param;
return param;
}
/// <summary>
/// 温度数据处理
/// </summary>
/// <param name="nowTemp"></param>
/// <returns></returns>
private static double ProcessTemp(double nowTemp)
{ {
if (data[0] + Setting_Init.Device_HumidityAdjust < Setting_Init.Device_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] = Setting_Init.Device_HumidityLimited; return temp;
}
else
data[0] += Setting_Init.Device_HumidityAdjust;
} }
if (Setting_Init.Device_TemptureAdjust != 0 && Setting_Init.Device_TemptureLimited != 0) else if (nowTemp <= midVal)
{ {
if (data[1] + Setting_Init.Device_TemptureAdjust < Setting_Init.Device_TemptureLimited) temp = (nowTemp - minVal) * 0.6 + minVal;
}
else if (nowTemp < maxVal)
{ {
data[1] = Setting_Init.Device_TemptureLimited; temp = (nowTemp - 11) * (nowTemp - 10) / 10 + 11;
} }
else
data[1] += Setting_Init.Device_TemptureAdjust; return Math.Round(temp, 1);
} }
param = new ASTemperateParam(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;
} }
LastData = param; else if (nowHumity <= maxVal)
return param; {
temp = (nowHumity - minVal) * coefVal + minVal;
}
return Math.Round(temp, 1);
} }
/// <summary> /// <summary>
/// 返回温度和湿度 /// 返回温度和湿度
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!