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