Commit e3a65576 张东亮

温湿度读取失败不更新数据

1 个父辈 f11376c7


using log4net;
using System;
using System.Collections.Generic;
......@@ -23,7 +23,7 @@ namespace OnlineStore.Common
private Parity parity = Parity.None;//校验位
private int dataBits = 8;//数据位
private StopBits stopBits = StopBits.One; //停止位
private AcSerialBean sb = null;
private AcSerialBean sb = null;
private string LogName = "";
public int HumitureControllerType = 0;// ConfigAppSettings.GetIntValue(Setting_Init.HumitureControllerType);
......@@ -91,8 +91,8 @@ namespace OnlineStore.Common
}
IsRun = false;
}
public ASTemperateParam LastData = new ASTemperateParam(0, 0,0);
public ASTemperateParam QueryData()
public ASTemperateParam LastData = new ASTemperateParam(0, 0, 0);
public bool QueryData()
{
ASTemperateParam param = new ASTemperateParam(0, 0, 0);
List<double> data = queryData();
......@@ -107,7 +107,7 @@ namespace OnlineStore.Common
// else
// data[0] += Setting_Init.Device_HumidityAdjust;
//}
data[0] = ProcessHumity(serialPort,data[0]);
data[0] = ProcessHumity(serialPort, data[0]);
//if (Setting_Init.Device_TemptureAdjust != 0 && Setting_Init.Device_TemptureLimited != 0)
//{
// if (data[1] + Setting_Init.Device_TemptureAdjust < Setting_Init.Device_TemptureLimited)
......@@ -118,17 +118,31 @@ namespace OnlineStore.Common
// data[1] += Setting_Init.Device_TemptureAdjust;
//}
data[1] = ProcessTemp(serialPort, data[1]);
var maxTemp = ConfigHelper.Config.Get("MaxTempThreshold", 60);
var minTemp = ConfigHelper.Config.Get("MinTempThreshold", 0);
if (data[1] >= maxTemp || data[1] <= minTemp)//温度
{
return false;
}
var maxHum = ConfigHelper.Config.Get("MaxHumidityThreshold", 100);
var minHum = ConfigHelper.Config.Get("MinHumidityThreshold", 0);
if (data[0] >= maxHum || data[0] <= minHum)//湿度
{
return false;
}
param = new ASTemperateParam(data[1], data[0], data[2]);
LastData = param;
return true;
}
LastData = param;
return param;
return false;
}
/// <summary>
/// 温度数据处理
/// </summary>
/// <param name="nowTemp"></param>
/// <returns></returns>
private static double ProcessTemp(string port,double nowTemp)
private static double ProcessTemp(string port, double nowTemp)
{
double temp = nowTemp;
double minVal = 5;//ConfigHelper.Config.Get("TempThreshold_Min", 5);
......@@ -196,7 +210,7 @@ namespace OnlineStore.Common
sendData[0] = 0x01;
if (HumitureControllerType.Equals(1))
{
sendData[1] = 0x04;
sendData[1] = 0x04;
}
else
{
......@@ -217,10 +231,10 @@ namespace OnlineStore.Common
return getReviceData(reviceData);
}
private byte[] buildCheckData(byte[] sendData, int length)
{
ushort pChecksum = 0;
......@@ -237,13 +251,13 @@ namespace OnlineStore.Common
{
sendData[length + 1] = checkByte[0];
sendData[length] = checkByte[1];
}
}
return sendData;
}
private List<double> getReviceData(byte[] dataArray)
{
List<double> list = new List<double>();
List<double> list = new List<double>();
try
{
if (dataArray == null)
......@@ -253,12 +267,12 @@ namespace OnlineStore.Common
if (dataArray.Length >= 9)
{
string temp = String.Format("{0:X2}", dataArray[3])+ String.Format("{0:X2}", dataArray[4]);
string temp = String.Format("{0:X2}", dataArray[3]) + String.Format("{0:X2}", dataArray[4]);
string hum = String.Format("{0:X2}", dataArray[5]) + String.Format("{0:X2}", dataArray[6]);
string Oxygen = String.Format("{0:X2}", dataArray[7]) + String.Format("{0:X2}", dataArray[8]);
double tempV = (double)Convert.ToInt32(temp, 16)/10;
double humV =(double) Convert.ToInt32(hum, 16)/10;
double OxygenV = (double) Convert.ToInt32(Oxygen, 16)/10;
double tempV = (double)Convert.ToInt32(temp, 16) / 10;
double humV = (double)Convert.ToInt32(hum, 16) / 10;
double OxygenV = (double)Convert.ToInt32(Oxygen, 16) / 10;
list.Add(tempV);
list.Add(humV);
list.Add(OxygenV);
......@@ -270,6 +284,6 @@ namespace OnlineStore.Common
}
return list;
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!