温湿度添加try catch
This commit is contained in:
		
							parent
							
								
									6cf9e18963
								
							
						
					
					
						commit
						b8249a2788
					
				| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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("温湿度信息返回空");
 | 
			
		||||
            }
 | 
			
		||||
                
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue