From 3c09e83246ac9866f6a38b1739436f0833565e1f Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期三, 16 十月 2024 11:10:01 +0800 Subject: [PATCH] 报警信息修改 --- Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 54 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 37 insertions(+), 17 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs index b2aca60..c044b3a 100644 --- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs +++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs @@ -15,6 +15,12 @@ public static bool boRefresh = false; //婕旂ず妯″紡 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>(); @@ -52,6 +58,9 @@ boOffline = _sysConfigService.GetConfigValue<bool>("sys_Offline").Result; 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杩炴帴 @@ -150,7 +159,7 @@ { //Console.WriteLine($"{modPlc.IP}璇诲彇{modDevice.DbNumber}.{modDevice.PlcPos}鐨勫�间负锛歿value}"); //鏃犳祦绋嬭烦鍑� - if (value == 0) + if (value == 0 )// && modPlc.Type!= PLCTypeEnum.BoxConveyorLine continue; var dto = modDevice.Adapt<WcsDeviceDto>(); dto.Value = value; @@ -284,26 +293,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) { //淇敼鎶ヨ鐘舵�佸悓鏃惰褰曟姤璀︽棩蹇� @@ -370,8 +371,10 @@ { if (modPlcUtil == null) continue; - 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>(); + 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 listaddress = new Dictionary<string, PLCDataTypeEnum>(); foreach (var modDevice in listDevice) { listaddress.Add(modDevice.DbNumber + "." + modDevice.PlcPos, modDevice.PosType); @@ -423,15 +426,32 @@ break; case PLCTypeEnum.ConveyorLine: { - var value = Convert.ToBoolean(item.Value); - if (value != modDevice.BoHaveItem) + var bl = false; + int value = Convert.ToInt32(item.Value); + if (value == 0) { - modDevice.BoHaveItem = value; - //涓嬪彂鐘舵�� - var modInfo = new PlcPositionInfo() { Type = modPlc.Type, StationNum = modDevice.StationNum, BoHaveItem = value }; + bl = false; + } + else + { + bl = true; + } + if (bl != modDevice.BoHaveItem) + { + 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: -- Gitblit v1.8.0