93 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using DM_Weight.Models;
							 | 
						|||
| 
								 | 
							
								using log4net.Repository.Hierarchy;
							 | 
						|||
| 
								 | 
							
								using Modbus.Device;
							 | 
						|||
| 
								 | 
							
								using Polly;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.IO.Ports;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Threading.Tasks;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace DM_Weight.Port
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public class TemperatureHumidityJob
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
								        public TemperatureHumidityJob()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            //try
							 | 
						|||
| 
								 | 
							
								            //{
							 | 
						|||
| 
								 | 
							
								            //    using (SerialPort serialPort = new SerialPort("com1"))
							 | 
						|||
| 
								 | 
							
								            //    {
							 | 
						|||
| 
								 | 
							
								            //        serialPort.BaudRate = 9600;
							 | 
						|||
| 
								 | 
							
								            //        serialPort.DataBits = 8;
							 | 
						|||
| 
								 | 
							
								            //        serialPort.Parity = Parity.None;
							 | 
						|||
| 
								 | 
							
								            //        serialPort.StopBits = StopBits.One;
							 | 
						|||
| 
								 | 
							
								            //        if (!serialPort.IsOpen)
							 | 
						|||
| 
								 | 
							
								            //        {
							 | 
						|||
| 
								 | 
							
								            //            serialPort.Open();
							 | 
						|||
| 
								 | 
							
								            //        }
							 | 
						|||
| 
								 | 
							
								            //        var master = ModbusSerialMaster.CreateRtu(wsdSerial);
							 | 
						|||
| 
								 | 
							
								            //        int no = 1;
							 | 
						|||
| 
								 | 
							
								            //        switch (Global.CabinetNo)
							 | 
						|||
| 
								 | 
							
								            //        {
							 | 
						|||
| 
								 | 
							
								            //            case "1":
							 | 
						|||
| 
								 | 
							
								            //                no = 1;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "2":
							 | 
						|||
| 
								 | 
							
								            //                no = 9;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "3":
							 | 
						|||
| 
								 | 
							
								            //                no = 5;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "4":
							 | 
						|||
| 
								 | 
							
								            //                no = 3;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "5":
							 | 
						|||
| 
								 | 
							
								            //                no = 2;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "6":
							 | 
						|||
| 
								 | 
							
								            //                no = 6;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "7":
							 | 
						|||
| 
								 | 
							
								            //                no = 8;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "8":
							 | 
						|||
| 
								 | 
							
								            //                no = 4;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								            //            case "9":
							 | 
						|||
| 
								 | 
							
								            //                no = 7;
							 | 
						|||
| 
								 | 
							
								            //                break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            //        }
							 | 
						|||
| 
								 | 
							
								            //        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 temperatureHumidityInfo = new TemperatureHumidityInfo();
							 | 
						|||
| 
								 | 
							
								            //            temperatureHumidityInfo.GroupNo = "DM1"
							 | 
						|||
| 
								 | 
							
								            //            temperatureHumidityInfo.Temp = temp;
							 | 
						|||
| 
								 | 
							
								            //            temperatureHumidityInfo.Humi = humi;
							 | 
						|||
| 
								 | 
							
								            //            _temperatureHumidityService.SaveTemperatureAndHumidity(temperatureHumidityInfo);
							 | 
						|||
| 
								 | 
							
								            //        }
							 | 
						|||
| 
								 | 
							
								            //        if (serialPort.IsOpen)
							 | 
						|||
| 
								 | 
							
								            //        {
							 | 
						|||
| 
								 | 
							
								            //            serialPort.Close();
							 | 
						|||
| 
								 | 
							
								            //        }
							 | 
						|||
| 
								 | 
							
								            //        master.Dispose();
							 | 
						|||
| 
								 | 
							
								            //    }
							 | 
						|||
| 
								 | 
							
								            //}
							 | 
						|||
| 
								 | 
							
								            //catch (Exception ex)
							 | 
						|||
| 
								 | 
							
								            //{
							 | 
						|||
| 
								 | 
							
								            //    logger.LogError(ex.Message);
							 | 
						|||
| 
								 | 
							
								            //}
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |