更新湘乡换新冷藏抽屉查温度

This commit is contained in:
maqiao 2025-10-28 15:45:13 +08:00
parent 1158f8ef23
commit f885bc52f1
3 changed files with 63 additions and 5 deletions

View File

@ -3,7 +3,7 @@
<connectionStrings>
<!-- 数据库连接字符串 -->
<!--<add name="database" connectionString="server=127.0.0.1;database=wpf_dm_program;userid=root;password=qq1223" />-->
<add name="database" connectionString="server=192.168.50.84;port=3306;database=xiangtanTest;userid=root;password=root" />
<add name="database" connectionString="server=192.168.50.252;port=3306;database=xiangxiang;userid=root;password=qq1223" />
</connectionStrings>
<!--<runtime>
--><!--配置之后Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--
@ -73,7 +73,7 @@
<!--温度查询定时执行时间-->
<add key="Interval" value="60000"/>
<!--冰箱状态1关闭0打开-->
<add key="FridgeState" value="1"/>
<add key="FridgeState" value="0"/>
<!--报警状态1关闭0打开-->
<add key="AlarmState" value="1"/>
<!--冰箱不在区间超时时间(超过指定的时间仍不在区间则提示)单位分-->

View File

@ -1883,7 +1883,65 @@ namespace DM_Weight.Port
}
//FridgeOperate = false;
}
#endregion
#endregion
#region
/// <summary>
/// 获取冰箱温度
/// </summary>
/// <returns></returns>
public async Task<float> GetFridgeTemperatureForNew(int iIndex)
{
float temperature = 0.0f;
try
{
fridgeSerial.DiscardInBuffer();
byte bAddress;
if (iIndex == 1)
{
bAddress = 0x01;
}
else
{
bAddress = 0x02;
}
byte[] buffer = new byte[] { bAddress, 0x03, 0x00, 0x03, 0x02 };
//获取数组CRC校验码
byte[] byteDate = CRC16MODBUS.CrcModBus(buffer);
//Array.Reverse(byteDate);
int dataLength = buffer.Length;
Array.Resize(ref buffer, dataLength + byteDate.Length);
for (int i = 0; i < byteDate.Length; i++)
{
buffer[dataLength + i] = byteDate[i];
}
logger.Info($"获取冰箱温度【{Convert.ToHexString(buffer)}】");
fridgeSerial.Write(buffer, 0, 8);
byte[] retByte = await GetBufferByPort(fridgeSerial, 7);
logger.Info($"获取冰箱温度返回【{Convert.ToHexString(retByte)}】");
if (retByte != null && retByte.Length >= 7)
{
var hight = retByte[3];
var low = retByte[4];
int iHight = Convert.ToInt32(hight << 8);
int iLow = Convert.ToInt32(retByte[4]);
temperature = Convert.ToSingle(iHight + iLow) / 10;
}
}
catch (Exception ex)
{
logger.Info($"获取冰箱温度发生异常ex:{ex.Message}");
}
return temperature;
}
#endregion
}
}

View File

@ -459,7 +459,7 @@ namespace DM_Weight.ViewModels
{
string retStr = string.Empty;
byte[] data = null;
float retT = await _portUtil.GetFridgeTemperature(1);
float retT = await _portUtil.GetFridgeTemperatureForNew(1);
Thread.Sleep(80);
WD = $"恒温冷藏抽屉当前温度:{Math.Round((retT), 2)}℃";
logger.Info(WD);
@ -706,7 +706,7 @@ namespace DM_Weight.ViewModels
{
string retStr = string.Empty;
byte[] data = null;
float retT = await _portUtil.GetFridgeTemperature(1);
float retT = await _portUtil.GetFridgeTemperatureForNew(1);
Thread.Sleep(80);
WD = $"恒温冷藏抽屉当前温度:{Math.Round((retT), 2)}℃;";
AlertColor = Brushes.White;