温湿度添加try catch

This commit is contained in:
maqiao 2024-08-13 17:05:27 +08:00
parent 6cf9e18963
commit b8249a2788
4 changed files with 42 additions and 30 deletions

View File

@ -54,7 +54,7 @@
<!-- 抽屉串口使用的协议232或者485 -->
<add key="DrawerProtocol" value="485" />
<!-- 抽屉串口的串口号 -->
<add key="DrawerPortPath" value="COM1" />
<add key="DrawerPortPath" value="COM11" />
<!-- can总线串口的串口号 -->
<add key="CanBusPortPath" value="COM3" />
<!-- 条码枪串口的串口号 -->
@ -121,7 +121,7 @@
<add key="modbusPort" value="4002"/>
<!--温湿度串口-->
<add key="wsdSerialPort" value="COM5"/>
<add key="wsdSerialPort" value="COM1"/>
<!--温度查询定时执行时间-->
<add key="Interval" value="60000"/>
</appSettings>

View File

@ -1880,27 +1880,34 @@ namespace DM_Weight.Port
public TemperatureHumidityInfo GetWSD()
{
TemperatureHumidityInfo temperatureHumidityInfo = new TemperatureHumidityInfo();
var master = ModbusSerialMaster.CreateRtu(wsdSerial);
int no = 1;
var r = master.ReadHoldingRegisters((byte)no, 00, 2);
if (r != null && r.Length > 0)
try
{
var result = string.Join("", r);
var result1 = result.Substring(0, 3);
var result2 = result.Substring(3, 3);
float temp = Int32.Parse(result2) / 10.0F;
float humi = Int32.Parse(result1) / 10.0F;
temperatureHumidityInfo.GroupNo = "DM5";
temperatureHumidityInfo.Temp = temp.ToString();
temperatureHumidityInfo.Humi = humi.ToString();
var master = ModbusSerialMaster.CreateRtu(wsdSerial);
int no = 1;
var r = master.ReadHoldingRegisters((byte)no, 00, 2);
if (r != null && r.Length > 0)
{
var result = string.Join("", r);
var result1 = result.Substring(0, 3);
var result2 = result.Substring(3, 3);
float temp = Int32.Parse(result2) / 10.0F;
float humi = Int32.Parse(result1) / 10.0F;
temperatureHumidityInfo.GroupNo = "DM5";
temperatureHumidityInfo.Temp = temp.ToString();
temperatureHumidityInfo.Humi = humi.ToString();
}
//if (wsdSerial.IsOpen)
//{
// wsdSerial.Close();
//}
master.Dispose();
}
catch (Exception ex)
{
logger.Info($"获取温湿度异常{ex.Message}");
}
//if (wsdSerial.IsOpen)
//{
// wsdSerial.Close();
//}
master.Dispose();
return temperatureHumidityInfo;
}
#endregion

View File

@ -132,14 +132,14 @@ namespace DM_Weight.ViewModels
}
else if (value.PremissionPath.Equals("SettingMainWindow") || value.PremissionPath.Equals("SettingWindow"))
{
if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"])>0)
if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"]) > 0)
{
_regionManager.RequestNavigate("ContentRegion", "SettingMainWindow");
}
else
{
_regionManager.RequestNavigate("ContentRegion", "SettingWindow");
}
}
}
else
{
@ -311,7 +311,7 @@ namespace DM_Weight.ViewModels
{
string retStr = string.Empty;
byte[] data = null;
float retT = await _portUtil.GetFridgeTemperature(1);
float retT = await _portUtil.GetFridgeTemperature(1);
Thread.Sleep(80);
WD = $"恒温冷藏抽屉当前温度:{Math.Round((retT - 1.5), 2)}℃;";
if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"]) > 1)
@ -323,10 +323,10 @@ namespace DM_Weight.ViewModels
}
}
//保存温湿度信息
private async void GetWSD(object sender,ElapsedEventArgs e)
private async void GetWSD(object sender, ElapsedEventArgs e)
{
TemperatureHumidityInfo temp = _portUtil.GetWSD();
if(temp != null)
if (temp != null)
{
SqlSugarHelper.Db.Insertable(new TemperatureHumidityInfo()
{
@ -335,8 +335,13 @@ namespace DM_Weight.ViewModels
Humi = temp.Humi,
AddTime = temp.AddTime
}).ExecuteCommand();
logger.Info($"保存温湿度信息:{temp.Temp},{temp.Humi}");
}
else
{
logger.Info("温湿度信息返回空");
}
}

View File

@ -78,16 +78,16 @@
</ListView.Resources>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource st}">
<GridViewColumn Width="100"
<GridViewColumn Width="180"
Header="操作人"
DisplayMemberBinding="{Binding User.Nickname}"/>
<GridViewColumn Width="100"
<GridViewColumn Width="180"
Header="时间"
DisplayMemberBinding="{Binding OperationTime, StringFormat='yyyy-MM-dd HH:mm:ss'}" />
<GridViewColumn Width="180"
<GridViewColumn Width="100"
DisplayMemberBinding="{Binding DrawerNo}"
Header="药箱号"/>
<GridViewColumn Width="100"
<GridViewColumn Width="180"
DisplayMemberBinding="{Binding InvoiceId}"
Header="操作内容"/>
</GridView>