From 8b0d749cfbec8bf0afe71a8956bfeeed6f27cdfc Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期四, 16 一月 2025 15:32:30 +0800 Subject: [PATCH] Merge branch 'csc' --- Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 36 ++++++++++++++++-------------------- 1 files changed, 16 insertions(+), 20 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs index c044b3a..451a68d 100644 --- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs +++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs @@ -2,7 +2,9 @@ using DocumentFormat.OpenXml.Drawing; using Furion.Logging; using Microsoft.AspNetCore.SignalR; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System; +//using WCS.Application.Util; namespace WCS.Application; public static class PLCTaskAction @@ -67,6 +69,7 @@ /// </summary> public static void Init() { + // var strMsg = new HttpService().RequestPackWcs("LN000001"); cts.Cancel(); listPlc = _db.Queryable<WcsPlc>() .Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine) @@ -139,7 +142,7 @@ } if (!modPlcUtil.Connected) { - Thread.Sleep(10000); + Thread.Sleep(1000); modPlcUtil.Open(); continue; } @@ -159,7 +162,7 @@ { //Console.WriteLine($"{modPlc.IP}璇诲彇{modDevice.DbNumber}.{modDevice.PlcPos}鐨勫�间负锛歿value}"); //鏃犳祦绋嬭烦鍑� - if (value == 0 )// && modPlc.Type!= PLCTypeEnum.BoxConveyorLine + if (value == 0)// && modPlc.Type!= PLCTypeEnum.BoxConveyorLine continue; var dto = modDevice.Adapt<WcsDeviceDto>(); dto.Value = value; @@ -243,7 +246,7 @@ HubUtil.PublicPlcConn(modPlc); } } - Thread.Sleep(1000); + Thread.Sleep(10000); } } catch (OperationCanceledException) @@ -313,7 +316,7 @@ listPulish.Add(modAlarm); } //鍙栨秷鎶ヨ - else if (value && modAlarm.Status == YesNoEnum.Y) + else if (!value && modAlarm.Status == YesNoEnum.Y) { modAlarm.AlarmTime = null; modAlarm.Status = YesNoEnum.N; @@ -330,7 +333,8 @@ modLog.Id = 0; listLog.Add(modLog); } - _db.Insertable(listLog).ExecuteCommand(); + if (listLog.Count >= 0) + _db.Insertable(listLog).ExecuteCommand(); HubUtil.PublicAlarm(listPulish); } } @@ -372,8 +376,8 @@ if (modPlcUtil == null) continue; var plcIp = modPlcUtil.PlcIP; - var listDevice = listPlcDevice.Where(s => s.PlcId == modPlcUtil.PlcId && s.DeviceType == DeviceTypeEnum.Show).ToList(); - var modPlc = listPlc.FirstOrDefault(s => s.Id == modPlcUtil.PlcId); + var listDevice = listPlcDevice.Where(s => s.PlcId == modPlcUtil.PlcId && s.DeviceType == DeviceTypeEnum.Show).ToList(); + var modPlc = listPlc.FirstOrDefault(s => s.Id == modPlcUtil.PlcId); var listaddress = new Dictionary<string, PLCDataTypeEnum>(); foreach (var modDevice in listDevice) { @@ -428,30 +432,22 @@ { var bl = false; int value = Convert.ToInt32(item.Value); - if (value == 0) + if (value <= 30) { bl = false; } - else + else { bl = true; } + if (bl != modDevice.BoHaveItem) { + modDevice.BoHaveItem = bl; var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum.PadLeft(3, '0'), BoHaveItem = bl }; HubUtil.PublicPosition(modInfo); UpdatePosition(modInfo); } - // liudl 娉ㄩ噴锛氬拰鐢垫皵宸ョ▼甯堢‘璁ら〉闈㈠睍绀轰氦浜掑瓧鍚庡惎鐢ㄣ�� - //var value = Convert.ToBoolean(item.Value); - //if (!value == modDevice.BoHaveItem) - //{ - // modDevice.BoHaveItem = value; - // //涓嬪彂鐘舵�� - // var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum.PadLeft(3,'0'), BoHaveItem = value }; - // HubUtil.PublicPosition(modInfo); - // UpdatePosition(modInfo); - //} } break; default: @@ -459,7 +455,7 @@ } } } - Thread.Sleep(300); + Thread.Sleep(3000); } catch (Exception ex) { -- Gitblit v1.8.0