From 140768c21ee2191ba5b390ef4173c15044f11433 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期五, 27 六月 2025 12:58:25 +0800 Subject: [PATCH] 11 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/自定义类.cs | 59 ++++++++--- 2025年6月12日/AuxAllWCS/Build/Project/代码/ViewModel.cs | 37 ++++++- 2025年6月12日/AuxAllWCS/Dlls/GZ.Device.PLC.dll | 0 2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs | 31 +++-- 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs | 143 +++++++++++++++++++++------- 2025年6月12日/AuxAllWCS/AuxAllWCS.json | 2 2025年6月12日/AuxAllWCS/GZ.Device.PLC.dll | 0 7 files changed, 197 insertions(+), 75 deletions(-) diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/AuxAllWCS.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/AuxAllWCS.json" index d136690..d61d3d4 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/AuxAllWCS.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/AuxAllWCS.json" @@ -9,5 +9,5 @@ "DevelopVersion": "1.0.2.0", "Encode": "Ij/zvOgkqNT5SmHrFKCAVQ==", "CreationTime": "0001-01-01 00:00:00", - "LastWriteTime": "2025-06-25 10:43:43" + "LastWriteTime": "2025-06-25 13:02:29" } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" index 71bd7aa..3db9969 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" @@ -16,6 +16,7 @@ using System.Windows.Interop; using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox; using System.Security.Cryptography; +using System.Windows.Markup; namespace GZ.Projects.AuxAllWCS { @@ -132,16 +133,17 @@ endBit = VERX.location[0] })); LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.Js1.D1212_LAST = 1; - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); + RedisHelper.Add($"Js鎹烽『1.D1202_LAST", "1", out string msg); } } if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0) { //tag.Js1.D1212_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg); + RedisHelper.Add($"Js鎹烽『1.D1202_LAST", "0", out string msg); } if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1) { @@ -151,16 +153,17 @@ endBit = VERX.location[1] })); LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.Js1.D1213_LAST = 1; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg); + RedisHelper.Add($"Js鎹烽『1.D1203_LAST", "1", out string msg); } } if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0) { //tag.Js1.D1213_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg); + RedisHelper.Add($"Js鎹烽『1.D1203_LAST", "0", out string msg); } } } @@ -183,18 +186,17 @@ endBit = VERX.location[0] })); LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { - //tag.Js2.D1212_LAST = 1; - - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); + RedisHelper.Add($"Js鎹烽『2.D1202_LAST", "1", out string msg); } } if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0) { //tag.Js2.D1212_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg); + RedisHelper.Add($"Js鎹烽『2.D1202_LAST", "0", out string msg); } if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1) { @@ -204,18 +206,18 @@ endBit = VERX.location[1] })); LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) - { - //tag.Js2.D1213_LAST = 1; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg); + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) + { + RedisHelper.Add($"Js鎹烽『2.D1203_LAST", "1", out string msg); } } if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0) { //tag.Js2.D1213_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg); + RedisHelper.Add($"Js鎹烽『2.D1203_LAST", "0", out string msg); } } } @@ -242,7 +244,8 @@ endBit = "" })); LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.wxr1.R44_LAST = true; RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "true", out string msg); @@ -314,7 +317,8 @@ endBit = "" })); LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.wxr1.R46_LAST = true; RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "true", out string msg); @@ -385,7 +389,8 @@ endBit = "" })); LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.wxr2.R44_LAST = true; RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "true", out string msg); @@ -457,7 +462,8 @@ endBit = "" })); LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) + var strr = JsonConvert.DeserializeObject<Messss>(str); + if (strr != null && strr.success && strr.data?.state == 0) { //tag.wxr2.R46_LAST = true; RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "true", out string msg); @@ -514,7 +520,7 @@ ITaskRepository taskservice = new TaskRepository(); try { - LogHelper.Info("浠诲姟涓嬪彂 ARG 浠诲姟 杩涘叆"); + LogHelper.Info("浠诲姟涓嬪彂 AGV 浠诲姟 杩涘叆"); #region AGV浠诲姟涓嬪彂銆� var tklist = taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "AGV"); @@ -658,7 +664,7 @@ string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0')); task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno); - LogHelper.Info($"RGV2宸ヤ綅浠诲姟{JsonConvert.SerializeObject(task2)}.bit2taskOver_LAST锛歿tag.RGV.bit2taskOver_LAST}"); + LogHelper.Info($"RGV2宸ヤ綅浠诲姟{task2?.S_TASK_NO}.bit2taskOver_LAST锛歿tag.RGV.bit2taskOver_LAST}"); if (tag.RGV.bit2taskOver_LAST == 0 && task2 != null) { if (task2.S_B_STATE != "瀹屾垚") @@ -742,14 +748,13 @@ LogHelper.Info($"{task1.S_TASK_NO}> taskmod 1 銆婂彇璐с�"); tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - t2.S_B_STATE = "宸叉帹閫�; - taskservice.Update(t2); creT2 = true; - System.Threading.Thread.Sleep(750); LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); LogHelper.Info($"{t2.S_TASK_NO}> end 鍐�125"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + t2.S_B_STATE = "宸叉帹閫�; + taskservice.Update(t2); } ////2 濡傛灉鏈夊悓渚у彇璐т换鍔°�灏卞彇銆傛病鏈� //else if (leftSide.Contains(task1.S_START_LOC)) @@ -855,14 +860,13 @@ LogHelper.Info($"{e1017first.S_TASK_NO}>寮�鍐欏叆 task1do>>{e1017first.S_START_LOC}銆�); tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC); LogHelper.Info($"{e1017first.S_TASK_NO}> 鏇存柊浠诲姟銆�); - e1017first.S_B_STATE = "宸叉帹閫�; - taskservice.Update(e1017first); - System.Threading.Thread.Sleep(750); LogHelper.Info($"{e1017first.S_TASK_NO}> bit1taskOver_LAST 鍐�"); RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); LogHelper.Info($"{e1017first.S_TASK_NO}> taskend 鍐�25"); //tag.RGV.taskend=125 Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + e1017first.S_B_STATE = "宸叉帹閫�; + taskservice.Update(e1017first); } else { @@ -877,13 +881,12 @@ tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); LogHelper.Info($"{t2.S_TASK_NO}> taskno2 {Convert.ToUInt32(t2.S_TASK_NO.Substring(4))}銆婁换鍔″彿銆�); tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - t2.S_B_STATE = "宸叉帹閫�; - taskservice.Update(t2); - System.Threading.Thread.Sleep(750); LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); LogHelper.Info($"{t2.S_TASK_NO}> end 鍐�125"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + t2.S_B_STATE = "宸叉帹閫�; + taskservice.Update(t2); } } } @@ -953,6 +956,8 @@ { LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊 =================> "); LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue")); + + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "0", dev.deviceName + "Queue"); Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"); } LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊瀹屾垚 =================> "); @@ -994,8 +999,12 @@ } else { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), dev.deviceName + "Queue")); + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue")); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue"); Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); + + string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg); + LogHelper.Info($"ThreadGrats 鍐檣(dev.deviceName + "." + (V ? "D1220" : "D1221"))}涓�1 锛�鍚庤{d12201}"); } LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏抽棴鍏夋爡澶勭悊瀹屾垚 =================> "); } @@ -1021,15 +1030,26 @@ { var tf = Conn.榛樿Redis.GetValue(dev.deviceName + ".D1202"); int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); + //int int0 = TcpServer.GetBitdata(numm, 0); + //int int1 = TcpServer.GetBitdata(numm, 1); + if (TcpServer.GetBitdata(numm, 0) == 0) { Conn.榛樿Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue", false); Conn.榛樿Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue", false); } - else if (TcpServer.GetBitdata(numm, 1) == 0) + if (TcpServer.GetBitdata(numm, 1) == 0) { Conn.榛樿Redis.SetValue(dev.deviceName + ".D1221", "0", dev.deviceName + "Queue", false); Conn.榛樿Redis.SetValue(dev.deviceName + ".D1223", "0", dev.deviceName + "Queue", false); + } + if (TcpServer.GetBitdata(numm, 2) == 0) + { + Conn.榛樿Redis.SetValue(dev.deviceName + ".D1224", "0", dev.deviceName + "Queue", false); + } + if (TcpServer.GetBitdata(numm, 3) == 0) + { + Conn.榛樿Redis.SetValue(dev.deviceName + ".D1225", "0", dev.deviceName + "Queue", false); } } LogHelper.Info($"ThreadGrats deviceType2鍏夋爡鍐欏叆浣嶉噸缃畬鎴愩� =================> "); @@ -1266,10 +1286,12 @@ { var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16)); var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16)); + LogHelper.Info($" FNK1003051113.RArrive{ssx}>{RArrive} && FNK1003051113.RArrive{ssx}_LAST >{RArriveLast}"); if (RArrive == 1 && RArriveLast == 0) { if (ssx == "1005" && tag.SF涓嬫枡浣�WRelease1005 == 0) { + LogHelper.Info($"ssx == 1005 && tag.SF涓嬫枡浣�WRelease1005:{tag.SF涓嬫枡浣�WRelease1005} 鍐檉1 2215=1锛孯Arrive1005_LAST=1"); tag.FNK1.D2215 = 1; //tag.SF涓嬫枡浣�RArrive1005_LAST = 1; RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "1", out string msg); @@ -1279,6 +1301,7 @@ } else if (ssx == "1003" && tag.SF涓嬫枡浣�WRelease1003 == 0) { + LogHelper.Info($"ssx == 1003 && tag.SF涓嬫枡浣�WRelease1003:{tag.SF涓嬫枡浣�WRelease1003} 鍐檉1 2210=1锛孯Arrive1003_LAST=1"); tag.FNK1.D2210 = 1; //tag.SF涓嬫枡浣�RArrive1003_LAST = 1; @@ -1289,6 +1312,7 @@ } else if (ssx == "1013" && tag.SF涓嬫枡浣�WRelease1013 == 0) { + LogHelper.Info($"ssx == 1013 && tag.SF涓嬫枡浣�WRelease1013:{tag.SF涓嬫枡浣�WRelease1013} 鍐檉2 2215=1锛孯Arrive1013_LAST=1"); tag.FNK2.D2215 = 1; //tag.SF涓嬫枡浣�RArrive1013_LAST = 1; RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "1", out string msg); @@ -1298,6 +1322,7 @@ } else if (ssx == "1011" && tag.SF涓嬫枡浣�WRelease1011 == 0) { + LogHelper.Info($"ssx == 1011 && tag.SF涓嬫枡浣�WRelease1011:{tag.SF涓嬫枡浣�WRelease1011} 鍐檉2 2210=1锛孯Arrive1011_LAST=1"); tag.FNK2.D2210 = 1; //tag.SF涓嬫枡浣�RArrive1011_LAST = 1; RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "1", out string msg); @@ -1308,6 +1333,7 @@ } else if (RArrive == 0 && RArriveLast == 1) { + LogHelper.Info($"閲嶇疆 FNK1003051113.RArrive{ssx}_LAST=0"); RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg); //Conn.榛樿Redis.SetValue($"FNK1003051113.RArrive{ssx}_LAST", "0", $"FNK1003051113Queue"); } @@ -1317,6 +1343,8 @@ public void ThreadFNK1Over(Tag tag) { Console.WriteLine($"ThreadFNK1Over =====>"); + //LogHelper.Info($" FN1 D2217>{tag.FNK1.D2217} D2217LAST>{tag.FNK1.D2217_LAST} D2215>{tag.FNK1.D2215} release1005>{tag.SF涓嬫枡浣�WRelease1005}"); + //LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0"); if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0) { tag.FNK1.D2215 = 0; @@ -1327,12 +1355,20 @@ tag.SF涓嬫枡浣�WSafe0305 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "0", out msg); + LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0"); } - if (tag.FNK1.D2216 == 1) - tag.FNK1.D2215 = 0; else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1) + { //tag.FNK1.D2217_LAST = 0; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg); + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2217_LAST=0"); + } + if (tag.FNK1.D2216 == 1) + { + tag.FNK1.D2215 = 0; + + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0"); + } if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) { @@ -1343,6 +1379,7 @@ tag.SF涓嬫枡浣�WSafe0305 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "0", out msg); + LogHelper.Info($" FN1 .D2212=1,2212_LAST=0 鍐�2210=0锛孌2212_LAST=1锛學Release1003=1 RArrive1003_LAST=0"); } //else if (tag.FNK1.D2211 == 1) // tag.FNK1.D2210 = 0; @@ -1350,9 +1387,15 @@ { //tag.FNK1.D2212_LAST = 0; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "0", out string msg); + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2212_LAST=0"); } + if (tag.FNK1.D2211 == 1) + { tag.FNK1.D2210 = 0; + + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0"); + } } public void ThreadFNK2Over(Tag tag) @@ -1368,13 +1411,21 @@ tag.SF涓嬫枡浣�WSafe1113 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "0", out msg); + LogHelper.Info($" FN2 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1013=1 RArrive1013_LAST=0"); } else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1) + { //tag.FNK2.D2217_LAST = 0; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg); + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2217_LAST=0"); + } if (tag.FNK2.D2216 == 1) + { tag.FNK2.D2215 = 0; + + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0"); + } if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0) { @@ -1386,16 +1437,22 @@ tag.SF涓嬫枡浣�WSafe1113 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "0", out msg); + LogHelper.Info($" FN2 .D2212=1,2212_LAST=0 鍐�2210=0锛孌2212_LAST=1锛學Release1011=1 RArrive1011_LAST=0"); } else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1) { //tag.FNK2.D2212_LAST = 0; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "0", out string msg); + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2212_LAST=0"); } if (tag.FNK2.D2211 == 1) + { tag.FNK2.D2210 = 0; - + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0"); + } } + + public void Thread1019Down(Tag tag) { @@ -1425,6 +1482,20 @@ } + + class Messss + { + public bool success { get; set; } + public Ddata data { get; set; } + public object extra { get; set; } + } + + public class Ddata + { + public string reqCode { get; set; } + public int state { get; set; } + public string error { get; set; } + } } #endregion [鑷畾涔夌被-VS][20250623083459471][AutoThread] \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" index 0d391e4..3b6c8bb 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" @@ -142,6 +142,7 @@ List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList(); bool bobe = false; + //model.method = model.method?.ToLower(); switch (model.method) { case "start": @@ -154,7 +155,9 @@ bobe = true; } break; + case "outBin": case "outbin": + model.method = model.method?.ToLower(); LogHelper.Info($"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栬揣瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}", "agv鏉弶浜や簰鏃ュ織"); wcsTask.S_B_STATE = "鍙栬揣瀹屾垚"; @@ -184,9 +187,12 @@ } else if (device.deviceType == 2) { - var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; - string V = inde ? "D1224" : "D1225"; - Conn.榛樿Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); + //Task.Run(() => + //{ + // var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; + // string V = inde ? "D1224" : "D1225"; + // Conn.榛樿Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); + //}); } } //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); @@ -244,11 +250,15 @@ } } else if (device2.deviceType == 2) + { if (device2.deviceName.Contains("Js鎹烽『")) { - var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; - string V = inde ? "D1224" : "D1225"; - Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); + Task.Run(() => + { + var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; + string V = inde ? "D1224" : "D1225"; + Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); + }); var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new { @@ -265,6 +275,19 @@ // else tag.Js2.D1225 = 1; //} } + var ssloc = device2.deviceNo[1]; + var endloc = locrep.FindEntity(x => x.S_LOC_CODE == ssloc); + LogHelper.Info($"鎹烽『鍗歌揣鍚庯紝 鏌ョ湅缂撳瓨浣�{ssloc}-{endloc?.N_CURRENT_NUM}>0? 鍒欑敵璇穖es鎼蛋銆�); + if (endloc != null && endloc.N_CURRENT_NUM == 1) + { + var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new + { + requestType = 3, + startBit = ssloc + })); + LogHelper.Info($"{ssloc}鐢宠mes浠诲姟缁撴灉{str}"); + } + } } //LocationMethod.JudgeLocation(wcsTask); @@ -364,7 +387,7 @@ } else { - LogHelper.Info($"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode}", "agv鏉弶浜や簰鏃ュ織"); + LogHelper.Info($"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode} agv鏉弶浜や簰鏃ュ織"); } #endregion [鑷畾涔夋寚浠[20250324165239206][OperateHKTaskStatus] } diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" index 6b8853f..8d14471 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" @@ -62,6 +62,10 @@ } View1_Init(sender, e); + + LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>"); + LogHelper.Info($"<<<<<<<<<<<<<<<<<绋嬪簭路鍚姩>>>>>>>>>>>>>>"); + LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>"); /// <summary> /// 绋嬪簭鐗囨:鍒濆鍖栭厤缃� /// 鎻忚堪: @@ -78,6 +82,9 @@ { #region [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 + //string a = "{\"success\":true,\"data\":{\"reqCode\":\"008fa3146caa446aa772e160bb3867b6\",\"state\":\"1\",\"error\":\"娌℃湁鍙互浣跨敤鐨勭紦瀛樼偣浣峔"},\"extra\":{}}"; + + //var tsret = JsonConvert.DeserializeObject<Messss>(a); Action myDelegate = () => SettingInit(); AutoThread.InvokeMethod(AutoThread.Instance, "ThreadSettingInit", new object[] { tag, myDelegate }); #endregion [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 @@ -231,21 +238,21 @@ // RunafterMac(di,true); /// TODO mes 涓嬪彂銆� 鏀规垚鏈烘鑷傜洃鎺�- 鐩戞帶绌虹殑杩樻槸婊$殑 - 鑱斿姩mes 浠诲姟銆� - LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵1锛氱淮甯屽皵鎶撹噦1.State:{Device.缁村笇灏旀姄鑷�.State} "); - Device.缁村笇灏旀姄鑷�.ReadPLC("缁村笇灏旀姄鑷�.R50", out object value); - LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵1锛氱淮甯屽皵鎶撹噦1.R50:{value?.ToString()} "); + //LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵1锛氱淮甯屽皵鎶撹噦1.State:{Device.缁村笇灏旀姄鑷�.State} "); + //Device.缁村笇灏旀姄鑷�.ReadPLC("缁村笇灏旀姄鑷�.R50", out object value); + //LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵1锛氱淮甯屽皵鎶撹噦1.R50:{value?.ToString()} "); - LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵2锛氱淮甯屽皵鎶撹噦2.State:{Device.缁村笇灏旀姄鑷�.State} "); - Device.缁村笇灏旀姄鑷�.ReadPLC("缁村笇灏旀姄鑷�.R50", out value); - LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵2锛氱淮甯屽皵鎶撹噦2.R50:{value?.ToString()} "); + //LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵2锛氱淮甯屽皵鎶撹噦2.State:{Device.缁村笇灏旀姄鑷�.State} "); + //Device.缁村笇灏旀姄鑷�.ReadPLC("缁村笇灏旀姄鑷�.R50", out value); + //LogHelper.Info($"璁惧鐘舵�锛氱淮甯屽皵2锛氱淮甯屽皵鎶撹噦2.R50:{value?.ToString()} "); - LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬�锛欽s鎹烽『1.State:{Device.Js鎹烽『1.State} "); - Device.Js鎹烽『1.ReadPLC("Js鎹烽『1.D1202", out value); - LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬� Js鎹烽『1.D1202:{value?.ToString()} "); + //LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬�锛欽s鎹烽『1.State:{Device.Js鎹烽『1.State} "); + //Device.Js鎹烽『1.ReadPLC("Js鎹烽『1.D1202", out value); + //LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬� Js鎹烽『1.D1202:{value?.ToString()} "); - LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬�锛欽s鎹烽『2.State:{Device.Js鎹烽『2.State} "); - Device.Js鎹烽『2.ReadPLC("Js鎹烽『2.D1202", out value); - LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬� Js鎹烽『2.D1202:{value?.ToString()} "); + //LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬�锛欽s鎹烽『2.State:{Device.Js鎹烽『2.State} "); + //Device.Js鎹烽『2.ReadPLC("Js鎹烽『2.D1202", out value); + //LogHelper.Info($"璁惧鐘舵�锛氭嵎鐬� Js鎹烽『2.D1202:{value?.ToString()} "); #endregion [鑴氭湰][20250325085810885][涓氬姟閫昏緫.绗笁鏍囨.鑷祦杞祦绋媇 diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" index 806003e..d389251 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" @@ -28,6 +28,8 @@ using GZ.DB.Repository.OIDATABASE; using GZ.DB.IRepository.OIDATABASE; using GZ.DB.Entity.OIDATABASE; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; +using NLog.Fluent; namespace GZ.Projects.AuxAllWCS { public class Settings @@ -821,35 +823,49 @@ // sord = "desc", // rows = 1 // }).FirstOrDefault(); - TaskEntity ec = null; - var dev = Conn.榛樿Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225")); - if (dev?.Trim() == "1") - ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "瀹屾垚", new Common.Data.Pagination - { - page = 1, - sidx = "T_CREATE", - sord = "desc", - rows = 1 - }).FirstOrDefault(); - if (t1.S_START_LOC == task.S_START_LOC && ec != null)//!= task.S_END_LOC) + //TaskEntity ec = null; + //var dev = Conn.榛樿Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225")); + //if (dev?.Trim() == "1") + // ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "瀹屾垚", new Common.Data.Pagination + // { + // page = 1, + // sidx = "T_CREATE", + // sord = "desc", + // rows = 1 + // }).FirstOrDefault(); + bool canReq = true; + var tf = Conn.榛樿Redis.GetValue(sx.deviceName + ".D1202"); + var V = sx.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0; + var tf2 = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); + canReq = TcpServer.GetBitdata(tf2, (V ? 2 : 3)) == 1; + //if (canReq) + // ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "瀹屾垚", new Common.Data.Pagination + // { + // page = 1, + // sidx = "T_CREATE", + // sord = "desc", + // rows = 1 + // }).FirstOrDefault(); + if (t1.S_START_LOC == task.S_START_LOC && canReq)//!= task.S_END_LOC) { //绗簩娈点� LocEntity endLoc = null; var di = sx; if (di != null) { - foreach (var ssloc in di.deviceNo) + //foreach (var ssloc in di.deviceNo) { + var ssloc = di.deviceNo[1]; var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); - if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) + if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "鏃�) { endLoc = endloc; - break; + //break; } } if (endLoc != null) { - var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, ec.S_CNTRS.Split(',').ToList()); + var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, "NONE".Split(',').ToList()); if (res) { task.N_PRIORITY = 0; taskservice.Update(task); @@ -859,6 +875,10 @@ } else { + if (t1.S_START_LOC != task.S_START_LOC) + { + t1 = taskservice.FindEntity(x => x.S_SRC_NO == task.S_TASK_NO && x.S_START_LOC == task.S_START_LOC && x.S_B_STATE == "瀹屾垚"); + } var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "琛ユ弧", 6, task.S_CNTRS.Split(',').ToList()); if (res) { @@ -875,19 +895,20 @@ var di = sx; if (di != null) { - foreach (var ssloc in di.deviceNo) + //foreach (var ssloc in di.deviceNo) { + var ssloc = di.deviceNo[0]; var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); - if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) + if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "鏃�) { endLoc = endloc; - break; + //break; } } if (endLoc != null) { LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鍒涘缓绗竴娈�浠诲姟銆�); - var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList()); + var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList()); LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鍒涘缓绗竴娈�浠诲姟銆傜粨鏋滐細{res}"); if (res) diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Dlls/GZ.Device.PLC.dll" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Dlls/GZ.Device.PLC.dll" index 1b40f7a..583a349 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Dlls/GZ.Device.PLC.dll" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Dlls/GZ.Device.PLC.dll" Binary files differ diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/GZ.Device.PLC.dll" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/GZ.Device.PLC.dll" new file mode 100644 index 0000000..e40f109 --- /dev/null +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/GZ.Device.PLC.dll" Binary files differ -- Gitblit v1.9.1