From 9b85a8b67aa6354ee9ea1a13c5799bf1c934922f Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期四, 31 十月 2024 18:12:14 +0800 Subject: [PATCH] 修改问题 --- Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 49 +++++++++++++++++++++---------------------------- 1 files changed, 21 insertions(+), 28 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs index ee3557b..390cd4c 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 @@ -17,6 +19,10 @@ public static bool boDemo = false; //婊氱瓛鍙嶈浆 public static bool boDrumReversal = false; + //鍑哄簱閿佸畾 + public static bool boOutLock = false; + //鍏ュ簱閿佸畾 + public static bool boEnterLock = false; public static List<PlcPositionInfo> listPositionInfo = new List<PlcPositionInfo>(); @@ -55,6 +61,8 @@ boRefresh = _sysConfigService.GetConfigValue<bool>("sys_Refresh").Result; boDemo = _sysConfigService.GetConfigValue<bool>("sys_demo").Result; boDrumReversal = _sysConfigService.GetConfigValue<bool>("sys_DrumReversal").Result; + boOutLock = _sysConfigService.GetConfigValue<bool>("sys_BoOutLock").Result; + boEnterLock = _sysConfigService.GetConfigValue<bool>("sys_BoEnterLock").Result; } /// <summary> /// 鍒濆鍖朠LC杩炴帴 @@ -133,7 +141,7 @@ } if (!modPlcUtil.Connected) { - Thread.Sleep(10000); + Thread.Sleep(1000); modPlcUtil.Open(); continue; } @@ -237,7 +245,7 @@ HubUtil.PublicPlcConn(modPlc); } } - Thread.Sleep(1000); + Thread.Sleep(10000); } } catch (OperationCanceledException) @@ -287,26 +295,18 @@ { //鎶ヨ鐐逛綅 var listAlarm = listAlarmInfo.Where(s => s.PlcIP == modUtil.PlcIP.ToString()).ToList(); - //Console.WriteLine("鎶ヨ鐐逛綅鏁帮細" + listAlarm.Count); var listaddress = new Dictionary<string, PLCDataTypeEnum>(); foreach (var modAlarm in listAlarm) { listaddress.Add(modAlarm.AlarmCode, PLCDataTypeEnum.Bit); } - //Console.WriteLine($"璇诲彇鐐逛綅{listaddress.Count}涓�"); var result = modUtil.GetPlcBatchDBValue(listaddress); - //Console.WriteLine("err" + result.Err); var listPulish = new List<WcsAlarmInfo>(); - //娴嬭瘯鎶ヨ - //foreach (var modAlarm in listAlarm) - //{ - // result.Value.Add(modAlarm.AlarmCode, true); - //} foreach (var item in result.Value) { var value = Convert.ToBoolean(item.Value); - //Console.WriteLine(item.Key + "+" + value); var modAlarm = listAlarm.FirstOrDefault(s => s.AlarmCode == item.Key); + var stationNum = modAlarm.StationNum; if (value && modAlarm.Status == YesNoEnum.N) { //淇敼鎶ヨ鐘舵�佸悓鏃惰褰曟姤璀︽棩蹇� @@ -374,7 +374,7 @@ if (modPlcUtil == null) continue; var plcIp = modPlcUtil.PlcIP; - var listDevice = listPlcDevice.Where(s => s.PlcId == modPlcUtil.PlcId ).ToList(); //&& s.DeviceType == DeviceTypeEnum.Show + 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) @@ -430,7 +430,7 @@ { var bl = false; int value = Convert.ToInt32(item.Value); - if (value == 0 || value == 720) + if (value <= 30) { bl = false; } @@ -438,21 +438,14 @@ { bl = true; } - - 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); - //} + 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); + } } break; default: @@ -460,7 +453,7 @@ } } } - Thread.Sleep(300); + Thread.Sleep(3000); } catch (Exception ex) { -- Gitblit v1.8.0