From 1cd9ee1a2b74a47e48c637482555388e20bb4eab Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期四, 17 七月 2025 11:30:18 +0800
Subject: [PATCH] 1

---
 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs |  422 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 275 insertions(+), 147 deletions(-)

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 d28c119..bd1b4f7 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"
@@ -137,35 +137,35 @@
             {
                 try
                 {
-                    foreach (var ip in new List<string> {
-                    device1.p鍙戦偅绉�涓嬬嚎.Config.IP,
-                    device1.p鍙戦偅绉�涓嬬嚎.Config.IP,
-                    device1.D瀹氬瓙1鍙锋満姊版墜.Config.IP,
-                    device1.D瀹氬瓙2鍙锋満姊版墜.Config.IP,
-                    device1.Js鎹烽『1.Config.IP,
-                    device1.Js鎹烽『2.Config.IP,
-                    device1.缁村笇灏旀姄鑷�.Config.IP,
-                    device1.缁村笇灏旀姄鑷�.Config.IP,
-                    device1.RGV.Config.IP,
-                    device1.S1002Read.Config.IP,
-                    device1.S2001Read.Config.IP,
-                    device1.S3001Read.Config.IP
-                })
-                    {
-                        string pattern = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
+                    //    foreach (var ip in new List<string> {
+                    //    device1.p鍙戦偅绉�涓嬬嚎.Config.IP,
+                    //    device1.p鍙戦偅绉�涓嬬嚎.Config.IP,
+                    //    device1.D瀹氬瓙1鍙锋満姊版墜.Config.IP,
+                    //    device1.D瀹氬瓙2鍙锋満姊版墜.Config.IP,
+                    //    device1.Js鎹烽『1.Config.IP,
+                    //    device1.Js鎹烽『2.Config.IP,
+                    //    device1.缁村笇灏旀姄鑷�.Config.IP,
+                    //    device1.缁村笇灏旀姄鑷�.Config.IP,
+                    //    device1.RGV.Config.IP,
+                    //    device1.S1002Read.Config.IP,
+                    //    device1.S2001Read.Config.IP,
+                    //    device1.S3001Read.Config.IP
+                    //})
+                    //    {
+                    //        string pattern = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
 
-                        var matches = Regex.Match(ip, pattern);
-                        if (matches.Success)
-                        {
-                            var b = IsMachineOnline(matches.Value);
-                            if (!Iponlines.ContainsKey(ip))
-                            {
-                                Iponlines.TryAdd(ip, b);
-                            }
-                            else
-                                Iponlines[ip] = b;
-                        }
-                    }
+                    //        var matches = Regex.Match(ip, pattern);
+                    //        if (matches.Success)
+                    //        {
+                    //            var b = IsMachineOnline(matches.Value);
+                    //            if (!Iponlines.ContainsKey(ip))
+                    //            {
+                    //                Iponlines.TryAdd(ip, b);
+                    //            }
+                    //            else
+                    //                Iponlines[ip] = b;
+                    //        }
+                    //    }
                 }
                 catch (Exception ex)
                 {
@@ -175,7 +175,7 @@
             }, tag, device, 3000));
             tasks.Add(GetTask(ThreadMXC3, tag, 3000));
             tasks.Add(GetTask(ThreadMXC4, tag, 3000));
-            tasks.Add(GetTask(ResetGats, tag, 3000));
+            //tasks.Add(GetTask(ResetGats, tag, 3000));
 
             tasks.Add(GetTask(sa1022, tag, 3000));
             tasks.Add(GetTask(sa1025, tag, 3000));
@@ -183,10 +183,10 @@
             tasks.Add(GetTask(sa2001, tag, 3000));
             tasks.Add(GetTask(sa2030, tag, 3000));
             tasks.Add(GetTask(sa2008, tag, 3000));
-            tasks.Add(GetTask(sa3001, tag, 3000));
-            tasks.Add(GetTask(sa3005, tag, 3000));
-            tasks.Add(GetTask(sa3006, tag, 3000));
-            tasks.Add(GetTask(sa3010, tag, 3000));
+            //tasks.Add(GetTask(sa3001, tag, 3000));
+            //tasks.Add(GetTask(sa3005, tag, 3000));
+            //tasks.Add(GetTask(sa3006, tag, 3000));
+            //tasks.Add(GetTask(sa3010, tag, 3000));
 
             Task.WaitAll(tasks.ToArray());
         }
@@ -282,6 +282,7 @@
 
             if (VERX != null)
             {
+                LogHelper.Info($"{VERX.deviceName}鏃堕棿鎴�{RedisHelper.Get<string>("Js鎹烽『1#Timestamp", out string mg)} D1212>{tag.Js1.D1212} 宸︽弧淇″彿:{TcpServer.GetBitdata(tag.Js1.D1212, 2)} D1212_LAST>{tag.Js1.D1212_LAST} 鍙虫弧淇″彿>{TcpServer.GetBitdata(tag.Js1.D1212, 3)} D1213_LAST>{tag.Js1.D1213_LAST}");
                 if (tag.Js1.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 1)
                 {
                     var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
@@ -300,8 +301,9 @@
                 if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0)
                 {
                     //tag.Js1.D1212_LAST = 0; 
+                    tag.Js1.D1224 = 0;
                     RedisHelper.Add($"Js鎹烽『1.D1202_LAST", "0", out string msg);
-                    //Conn.榛樿Redis.SetValue(VERX.deviceName + ".D1224", "0", VERX.deviceName + "Queue");
+                    //Conn.榛樿Redis.SetValue("Js鎹烽『1.D1224", "0", VERX.deviceName + "Queue");
                 }
 
                 if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1)
@@ -322,8 +324,8 @@
                 if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0)
                 {
                     //tag.Js1.D1213_LAST = 0;
+                    tag.Js1.D1225 = 0;
                     RedisHelper.Add($"Js鎹烽『1.D1203_LAST", "0", out string msg);
-                    //Conn.榛樿Redis.SetValue(VERX.deviceName + ".D1225", "0", VERX.deviceName + "Queue");
                 }
             }
         }
@@ -338,6 +340,8 @@
 
             if (VERX != null)
             {
+                LogHelper.Info($"{VERX.deviceName} 鏃堕棿鎴�{RedisHelper.Get<string>("Js鎹烽『2#Timestamp", out string mg)} D1212>{tag.Js2.D1212} 宸︽弧淇″彿:{TcpServer.GetBitdata(tag.Js2.D1212, 2)} D1212_LAST>{tag.Js2.D1212_LAST} 鍙虫弧淇″彿>{TcpServer.GetBitdata(tag.Js2.D1212, 2)} D1213_LAST>{tag.Js2.D1213_LAST}");
+
                 if (tag.Js2.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 1)
                 {
                     var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
@@ -355,7 +359,7 @@
                 if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0)
                 {
                     //tag.Js2.D1212_LAST = 0;
-
+                    tag.Js2.D1224 = 0;
                     RedisHelper.Add($"Js鎹烽『2.D1202_LAST", "0", out string msg);
                 }
                 if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1)
@@ -376,7 +380,7 @@
                 if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0)
                 {
                     //tag.Js2.D1213_LAST = 0;
-
+                    tag.Js2.D1225 = 0;
                     RedisHelper.Add($"Js鎹烽『2.D1203_LAST", "0", out string msg);
                 }
             }
@@ -477,7 +481,7 @@
             if (VERX != null)
             {
                 if (tag.wxr1.R46)
-                    LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr1.R46} R44LAST>{tag.wxr1.R46_LAST} R10>{tag.wxr1.R11}");
+                    LogHelper.Info($"{VERX.deviceName} R46>{tag.wxr1.R46} R46LAST>{tag.wxr1.R46_LAST} R11>{tag.wxr1.R11}");
                 if (tag.wxr1.R46 && !tag.wxr1.R46_LAST && tag.wxr1.R11)
                 {
                     if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim()))
@@ -642,7 +646,7 @@
             if (VERX != null)
             {
                 if (tag.wxr2.R46)
-                    LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr2.R46} R44LAST>{tag.wxr2.R46_LAST} R10>{tag.wxr2.R11}");
+                    LogHelper.Info($"{VERX.deviceName} R46>{tag.wxr2.R46} R46LAST>{tag.wxr2.R46_LAST} R11>{tag.wxr2.R11}");
                 if (tag.wxr2.R46 && !tag.wxr2.R46_LAST && tag.wxr2.R11)
                 {
                     if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim()))
@@ -664,7 +668,7 @@
                     }
                     else
                     {
-                        TcpServer.TcpServerSend(VERX.deviceNo[2], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E"));
+                        TcpServer.TcpServerSend(VERX.deviceNo[1], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E"));
                     }
                 }
                 else
@@ -777,15 +781,25 @@
 
                 LogHelper.Info($"鏌ョ湅RGV 鐢甸噺锛氥�{tag.RGV.R褰撳墠鐢甸噺}銆�鍏呯數鐘舵�锛氥�{tag.RGV.R鍏呯數鐘舵�}銆�鏁呴殰浠g爜锛氥�{tag.RGV.RgvrunError}銆�鎵嬪姩1鑷姩2銆恵tag.RGV.R鎵嬪姩1鑷姩2}銆�);
 
+                if (tag.RGV.R鍏呯數鐘舵� == 1)
+                {
+                    LogHelper.Info($"RGV 鍏呯數妯″紡锛屼笉鐢ㄧ銆�);
+                    return;
+                }
                 if (tag.RGV.R鎵嬪姩1鑷姩2 == 1)
                 {
                     LogHelper.Info($"RGV 鎵嬪姩妯″紡锛屼笉鐢ㄧ銆�);
                     return;
                 }
+                if (tag.RGV.RgvrunError > 0)
+                {
+                    LogHelper.Info($"RGV 鏁呴殰锛屼笉鐢ㄧ銆�);
+                    return;
+                }
+                LogHelper.Info($"RGV125鍛戒护鏌ョ湅 Rgv浠诲姟鏁版嵁 鍐�workmode:{tag.RGV.workMod} taskmod{tag.RGV.taskmod}  t1No:{tag.RGV.taskno1} t1do:{tag.RGV.task1do}  t2No:{tag.RGV.taskno2} t2do:{tag.RGV.task2do} taskend:{tag.RGV.taskend} ");
                 if (tag.RGV.taskend == 125)
                 {
                     LogHelper.Info($"RGV 鏈�25鍛戒护鏈墽琛屻� ");
-                    LogHelper.Info($"RGV125鍛戒护鏈墽琛�浠诲姟鏁版嵁 workmode:{tag.RGV.workMod}\n taskmod{tag.RGV.taskmod} \n t1No:{tag.RGV.taskno1}\n t1do:{tag.RGV.task1do} \n t2No:{tag.RGV.taskno2}\n t2do:{tag.RGV.task2do}\n taskend:{tag.RGV.taskend} ");
 
                     if (tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No)
                     {
@@ -795,28 +809,28 @@
                     System.Threading.Thread.Sleep(3000);
                     return;
                 }
-                LogHelper.Info($"浠诲姟涓嬪彂 Rgv 浠诲姟 杩涘叆 Rgv淇℃伅 W1鐘舵�{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} 1宸ヤ綅鏉$爜:{tag.RGV.bit1Code} bit1taskOver>{tag.RGV.bit1taskOver} W2鐘舵�{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} 2宸ヤ綅鏉$爜:{tag.RGV.bit2Code} bit2taskOver>{tag.RGV.bit2taskOver}");
+                LogHelper.Info($"浠诲姟涓嬪彂 Rgv浠诲姟鏁版嵁 璇�W1鐘舵�{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} 1宸ヤ綅鏉$爜:{tag.RGV.bit1Code} bit1taskOver>{tag.RGV.bit1taskOver} W2鐘舵�{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} 2宸ヤ綅鏉$爜:{tag.RGV.bit2Code} bit2taskOver>{tag.RGV.bit2taskOver}");
                 TaskEntity task1 = null;
                 TaskEntity task2 = null;
                 var task1Isrun = false;
                 if (tag.RGV.ReadTask1No > 0 && tag.RGV.bit1taskOver != 1)
                 {
-                    var taskno = tag.RGV.ReadTask1No;
-                    string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
-                    task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
-                    if (task1 != null && task1.S_B_STATE != "瀹屾垚")
-                        task1Isrun = true;
+                    //var taskno = tag.RGV.ReadTask1No;
+                    //string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
+                    //task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
+                    //if (task1 != null && task1.S_B_STATE != "瀹屾垚")
+                    task1Isrun = true;
                     //if (tag.RGV.bit1taskOver_LAST == 1)
                     //    RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg);
                 }
                 var task2Isrun = false;
                 if (tag.RGV.ReadTask2No > 0 && tag.RGV.bit2taskOver != 1)
                 {
-                    var taskno = tag.RGV.ReadTask2No;
-                    string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
-                    task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
-                    if (task2 != null && task2.S_B_STATE != "瀹屾垚")
-                        task2Isrun = true;
+                    //var taskno = tag.RGV.ReadTask2No;
+                    //string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
+                    //task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
+                    //if (task2 != null && task2.S_B_STATE != "瀹屾垚")
+                    task2Isrun = true;
                     //if (tag.RGV.bit2taskOver_LAST == 1)
                     //    RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg);
                 }
@@ -925,9 +939,22 @@
                 //        var b = RedisHelper.Remove("RGVQueue", out rev);
                 //    }
                 //}
+                var tklistall = taskservice.FindList(x => x.S_B_STATE != "瀹屾垚" && x.S_B_STATE != "鍙栨秷" && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList();
+                var tklist = tklistall.FindAll(x => x.S_B_STATE == "鏈墽琛�);
+                var tkunNormal = tklistall.Except(tklist);
+                if (tkunNormal.Any())
+                    foreach (var tk in tkunNormal)
+                    {
+                        if (tk.S_TASK_NO != task1?.S_TASK_NO && tk.S_TASK_NO != task2?.S_TASK_NO)
+                        {
+                            tk.S_B_STATE = "鍙栨秷";
+                            tk.S_NOTE = "涓嶅湪鎵ц闃熷垪涓�鍙栨秷";
+                            taskservice.Update(tk);
+                        }
+                    }
 
                 ///1 鏈夎揣  灏� 鍙栥�  1 娌¤揣 灏� 鍗歌揣锛�閮芥湁璐� 灏�鍗歌揣銆�閮芥病璐�灏�鍗�-                var tklist = taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList();
+                // taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList();
                 if (task1 != null && task1.S_B_STATE != "瀹屾垚") //1鏈変换鍔�                 {
                     if (task2 != null && task2.S_B_STATE != "瀹屾垚")// 1 鏈変换鍔� 2 鏈変换鍔°� 
@@ -1140,8 +1167,8 @@
             var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" };
             TaskActRepository taskActRepository = new TaskActRepository();
             TaskRepository taskRepository = new TaskRepository();
-            var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList();
-            var timeMorhours = requires.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1);
+            var requires1 = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList();
+            var timeMorhours = requires1.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1);
             if (timeMorhours.Any())
             {
                 foreach (var mor in timeMorhours)
@@ -1150,10 +1177,23 @@
                     mor.S_REVIEW_COMMENT = "瓒呮椂涓嶅鐞�;
                     taskActRepository.Update(mor);
                 }
-                requires = requires.Except(timeMorhours).ToList();
+                requires1 = requires1.Except(timeMorhours).ToList();
             }
-            foreach (var item in requires)
+            foreach (var requires in requires1.GroupBy(x => x.S_TASK_NO))
+            //foreach (var item in requires)
             {
+                var rsss = requires.ToList();
+                var item = rsss.OrderBy(x => x.S_ACTION_CODE.Contains("release") ? 0 : 1).LastOrDefault();
+                if (rsss.Count > 1)
+                {
+                    rsss.Remove(item);
+                    foreach (var mor in rsss)
+                    {
+                        mor.N_CREATEMETHOD = 3;
+                        mor.S_REVIEW_COMMENT = "澶氫綑涓嶅鐞�;
+                        taskActRepository.Update(mor);
+                    }
+                }
                 LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}鍏夋爡澶勭悊 =================> ");
                 var tin = taskCOdes.IndexOf(item.S_ACTION_CODE);
                 if (tin == -1)
@@ -1299,7 +1339,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A1019鍙栬揣浜や簰.Ssetreq", "true", "A1019鍙栬揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA1019.StaskMode = 1;
+                                        }
                                     }
                                     break;
                                 case "1030":
@@ -1310,7 +1353,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A1030鍙栬揣浜や簰.Ssetreq", "true", "A1030鍙栬揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA1030.StaskMode = 1;
+                                        }
                                     }
                                     break;
                                 case "2030":
@@ -1321,7 +1367,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A2030鍙栬揣浜や簰.Ssetreq", "true", "A2030鍙栬揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA2030.StaskMode = 1;
+                                        }
                                     }
                                     break;
                                 case "3005":
@@ -1332,7 +1381,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A3005鍙栬揣浜や簰.Ssetreq", "true", "A3005鍙栬揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.ssx杈撻�绾�s3005.StaskMode = 1;
+                                        }
                                     }
                                     break;
                                 case "3010":
@@ -1343,7 +1395,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A3010鍙栬揣浜や簰.Ssetreq", "true", "A3010鍙栬揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.ssx杈撻�绾�s3010.StaskMode = 1;
+                                        }
                                     }
                                     break;
                                 //}
@@ -1357,7 +1412,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A1022鏀捐揣浜や簰.Ssetreq", "true", "A1022鏀捐揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA1022.StaskMode = 2;
+                                        }
                                     }
                                     break;
                                 case "1025":
@@ -1368,7 +1426,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A1025鏀捐揣浜や簰.Ssetreq", "true", "A1025鏀捐揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA1025.StaskMode = 2;
+                                        }
                                     }
                                     break;
                                 case "2001":
@@ -1379,7 +1440,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A2001鏀捐揣浜や簰.Ssetreq", "true", "A2001鏀捐揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.SA2001.StaskMode = 2;
+                                        }
                                     }
                                     break;
                                 case "3001":
@@ -1390,7 +1454,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A3001鏀捐揣浜や簰.Ssetreq", "true", "A3001鏀捐揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.ssx杈撻�绾�s3001.StaskMode = 2;
+                                        }
                                     }
                                     break;
                                 case "3006":
@@ -1401,7 +1468,10 @@
                                             continuuuuu = true;
                                         }
                                         else
+                                        {
                                             SetRedistoPlc("A3006鏀捐揣浜や簰.Ssetreq", "true", "A3006鏀捐揣浜や簰Queue", "鍐橝GV鐢宠");
+                                            tag.ssx杈撻�绾�s3006.StaskMode = 2;
+                                        }
                                     }
                                     break;
                             }
@@ -1449,7 +1519,7 @@
                             {
 
                                 var close = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16));
-                                if (close == 1)
+                                if (close == 0)
                                 {
                                     LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�);
                                     continuuuuu = true;
@@ -1479,6 +1549,7 @@
                 }
             }
             System.Threading.Thread.Sleep(3000);
+            //ResetGats(tag);
         }
         public void ResetGats(Tag tag)
         {
@@ -1491,18 +1562,20 @@
                 //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);
-                }
-                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, 0) == 0)
+                //{
+                //    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue", false);
+                //    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue", false);
+                //}
+                //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.GetValue(dev.deviceName + ".D1224");
                     Conn.榛樿Redis.SetValue(dev.deviceName + ".D1224", "0", dev.deviceName + "Queue", false);
                 }
                 if (TcpServer.GetBitdata(numm, 3) == 0)
@@ -1519,18 +1592,22 @@
                 //涓�嚎鍦板潃锛�0.221.55.181     绔彛锛�000
                 //if (IsMachineOnline("10.221.55.181"))
                 {
-                    //if (tag.DZ1.D2211 == 1 && tag.DZ1.D2220 == 1)
-                    //    tag.DZ1.D2211 = 0;
-                    //if (tag.DZ1.D2216 == 1 && tag.DZ1.D2225 == 1)
-                    //    tag.DZ1.D2216 = 0;
+                    if (tag.DZ1.D2211 == 1 && tag.DZ1.D2220 == 1)
+                        //tag.DZ1.D2211 = 0;
+                        Conn.榛樿Redis.SetValue("D瀹氬瓙1鍙锋満姊版墜.D2211", "0", "D瀹氬瓙1鍙锋満姊版墜Queue", false);
+                    if (tag.DZ1.D2216 == 1 && tag.DZ1.D2225 == 1)
+                        //tag.DZ1.D2216 = 0;
+                        Conn.榛樿Redis.SetValue("D瀹氬瓙1鍙锋満姊版墜.D2216", "0", "D瀹氬瓙1鍙锋満姊版墜Queue", false);
                 }
                 //浜岀嚎鍦板潃锛�0.221.55.179     绔彛锛�000
                 //if (IsMachineOnline("10.221.55.179"))
                 {
-                    //if (tag.DZ2.D2211 == 1 && tag.DZ2.D2220 == 1)
-                    //    tag.DZ2.D2211 = 0;
-                    //if (tag.DZ2.D2216 == 1 && tag.DZ2.D2225 == 1)
-                    //    tag.DZ2.D2216 = 0;
+                    if (tag.DZ2.D2211 == 1 && tag.DZ2.D2220 == 1)
+                        //tag.DZ2.D2211 = 0;
+                        Conn.榛樿Redis.SetValue("D瀹氬瓙2鍙锋満姊版墜.D2211", "0", "D瀹氬瓙2鍙锋満姊版墜Queue", false);
+                    if (tag.DZ2.D2216 == 1 && tag.DZ2.D2225 == 1)
+                        //tag.DZ2.D2216 = 0;
+                        Conn.榛樿Redis.SetValue("D瀹氬瓙2鍙锋満姊版墜.D2216", "0", "D瀹氬瓙2鍙锋満姊版墜Queue", false);
                 }
             }
             LogHelper.Info($"ThreadGrats deviceType5鍏夋爡鍐欏叆浣嶉噸缃畬鎴愩� =================> ");
@@ -1542,6 +1619,11 @@
         public void ThreadEdown(Tag tag)
         {
             Console.WriteLine($"ThreadEdown 20 23 = 绌轰笅妫�祴 =================> ");
+            if (tag.RGV.R鍏呯數鐘舵� == 1 || tag.RGV.R鎵嬪姩1鑷姩2 == 1 || tag.RGV.RgvrunError > 0)
+            {
+                LogHelper.Info($"RGV 鎵嬪姩||鏁呴殰||鍏呯數锛岀┖涓嬫娴嬬粓姝€�");
+                return;
+            }
             TaskRepository taskRepository = new TaskRepository();
             foreach (var Bssx in new string[] { "1020", "1023" })
             {
@@ -1648,7 +1730,12 @@
 
         public void ThreadDdown(Tag tag)
         {
-            Console.WriteLine($"ThreadDdown 08 10 ==================> 1026");
+            Console.WriteLine($"ThreadDdown 08 16==================> 1026");
+            if (tag.RGV.R鍏呯數鐘舵� == 1 || tag.RGV.R鎵嬪姩1鑷姩2 == 1 || tag.RGV.RgvrunError > 0)
+            {
+                LogHelper.Info($"RGV 鎵嬪姩||鏁呴殰||鍏呯數锛�8 16 > 1026缁堟銆�);
+                return;
+            }
             TaskRepository taskRepository = new TaskRepository();
             foreach (var Bssx in new string[] { "1008", "1016" })
             {
@@ -1720,6 +1807,11 @@
         public void Thread0210Down(Tag tag)
         {
             Console.WriteLine($"Thread0210Down ==================>");
+            if (tag.RGV.R鍏呯數鐘舵� == 1 || tag.RGV.R鎵嬪姩1鑷姩2 == 1 || tag.RGV.RgvrunError > 0)
+            {
+                LogHelper.Info($"RGV 鎵嬪姩||鏁呴殰||鍏呯數锛�2 10 > 1017缁堟銆�);
+                return;
+            }
             TaskRepository taskRepository = new TaskRepository();
             foreach (var Bssx in new string[] { "1002", "1010" })
             {
@@ -1804,6 +1896,7 @@
                             {
                                 LogHelper.Info($"ssx == 1003 && tag.SF涓嬫枡浣�WRelease1003:{tag.SF涓嬫枡浣�WRelease1003}  鍐檉1 2210=1锛孉rrive{ssx}BarcodeLast={RtrayCode}");
                                 tag.FNK1.D2210 = 1;
+                                //Conn.榛樿Redis.SetValue($"p鍙戦偅绉�涓嬬嚎.D2210", "1", $"p鍙戦偅绉�涓嬬嚎Queue",false);
                             }
                             break;
                         case "1005":
@@ -1844,33 +1937,33 @@
 
                 if (WRelease == 1 && rReleaseOver == 1)
                 {
-                    switch (ssx)
-                    {
-                        case "1003":
-                            {
-                                LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK1.D2213{tag.FNK1.D2213}=1? 骞跺啓0");
-                                tag.FNK1.D2213 = 0;
-                            }
-                            break;
-                        case "1005":
-                            {
-                                LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK1.D2218{tag.FNK1.D2218}=1? 骞跺啓0");
-                                tag.FNK1.D2218 = 0;
-                            }
-                            break;
-                        case "1011":
-                            {
-                                LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK2.D2213{tag.FNK1.D2213}=1? 骞跺啓0");
-                                tag.FNK2.D2213 = 0;
-                            }
-                            break;
-                        case "1013":
-                            {
-                                LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK2.D2218{tag.FNK2.D2218}=1?  骞跺啓0");
-                                tag.FNK2.D2218 = 0;
-                            }
-                            break;
-                    }
+                    //switch (ssx)
+                    //{
+                    //    case "1003":
+                    //        {
+                    //            LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK1.D2213{tag.FNK1.D2213}=1? 骞跺啓0");
+                    //            tag.FNK1.D2213 = 0;
+                    //        }
+                    //        break;
+                    //    case "1005":
+                    //        {
+                    //            LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK1.D2218{tag.FNK1.D2218}=1? 骞跺啓0");
+                    //            tag.FNK1.D2218 = 0;
+                    //        }
+                    //        break;
+                    //    case "1011":
+                    //        {
+                    //            LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK2.D2213{tag.FNK1.D2213}=1? 骞跺啓0");
+                    //            tag.FNK2.D2213 = 0;
+                    //        }
+                    //        break;
+                    //    case "1013":
+                    //        {
+                    //            LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  璇籉NK2.D2218{tag.FNK2.D2218}=1?  骞跺啓0");
+                    //            tag.FNK2.D2218 = 0;
+                    //        }
+                    //        break;
+                    //}
                     LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1  WRelease 鍐�");
                     Conn.榛樿Redis.SetValue($"FNK1003051113.WRelease{ssx}", "0", $"FNK1003051113Queue");
                 }
@@ -1881,6 +1974,7 @@
         public void ThreadFNK1Over(Tag tag)
         {
             Console.WriteLine($"ThreadFNK1Over    =====>");
+            LogHelper.Info($" FN1 鏃堕棿鎴�{RedisHelper.Get<string>("p鍙戦偅绉�涓嬬嚎#Timestamp", out string mg)}");
             LogHelper.Info($" FN1 D2217>{tag.FNK1.D2217} D2217LAST>{tag.FNK1.D2217_LAST} D2215>{tag.FNK1.D2215} D2216>{tag.FNK1.D2216} D2218>{tag.FNK1.D2218}");
             //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)
@@ -1944,6 +2038,7 @@
         public void ThreadFNK2Over(Tag tag)
         {
             Console.WriteLine($"ThreadFNK2Over    =====>");
+            LogHelper.Info($" FN2 鏃堕棿鎴�{RedisHelper.Get<string>("p鍙戦偅绉�涓嬬嚎#Timestamp", out string mg)}");
             LogHelper.Info($" FN2 D2217>{tag.FNK2.D2217} D2217LAST>{tag.FNK2.D2217_LAST} D2215>{tag.FNK2.D2215} D2216>{tag.FNK2.D2216} D2218>{tag.FNK2.D2218}");
             if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0)
             {
@@ -2007,8 +2102,8 @@
         {
             var taggg = tag.SA1019;
             string vqu = "A1019鍙栬揣浜や簰";
-            Console.WriteLine($"1019浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (taggg.SOver && taggg.SreadSsxOver)
+            LogHelper.Info($"1019浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2046,11 +2141,12 @@
         {
             var taggg = tag.SA2030;
             string vqu = "A2030鍙栬揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (taggg.SOver && taggg.SreadSsxOver)
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2058,11 +2154,12 @@
         {
             var taggg = tag.SA2001;
             string vqu = "A2001鏀捐揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (taggg.SOver && taggg.SreadSsxOver)
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2070,11 +2167,12 @@
         {
             var taggg = tag.SA1030;
             string vqu = "A1030鍙栬揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "鍐橝GV鐢宠");
             }
         }
 
@@ -2082,11 +2180,12 @@
         {
             var taggg = tag.SA1025;
             string vqu = "A1025鏀捐揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2094,11 +2193,12 @@
         {
             var taggg = tag.SA1022;
             string vqu = "A1022鏀捐揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2106,11 +2206,12 @@
         {
             var taggg = tag.ssx杈撻�绾�s3010;
             string vqu = "A3010鍙栬揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2118,11 +2219,12 @@
         {
             var taggg = tag.ssx杈撻�绾�s3006;
             string vqu = "A3006鏀捐揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2130,11 +2232,12 @@
         {
             var taggg = tag.ssx杈撻�绾�s3005;
             string vqu = "A3005鍙栬揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2142,11 +2245,12 @@
         {
             var taggg = tag.ssx杈撻�绾�s3010;
             string vqu = "A3001鏀捐揣浜や簰";
-            Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
+            LogHelper.Info($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
             if (taggg.SOver && taggg.SreadAgvover)
             {
-                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
-                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
+                SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "娓匒GV鐢宠");
+                SetRedistoPlc(vqu + ".StaskMode", "0", vqu + "Queue", "娓匒GV鐢宠");
             }
         }
 
@@ -2172,7 +2276,19 @@
         }
         public void Thread1030Down(Tag tag)
         {
-            //Console.WriteLine($"SA1030 浠诲姟鐘舵�锛�  =====>agv瀹屾垚SOver{tag.SA1030.SOver}");
+            Console.WriteLine($"SA1030 浠诲姟鐘舵�锛�  =====>");
+            if (tag.SA1030.RtaskState == 4 && tag.SA1030.RtaskState_LAST == 0 && tag.SA2001.R5绌洪棽 == 5)
+            {
+                var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
+                {
+                    requestType = 10,
+                    startBit = "1030",
+                    endBit = "2001",
+                }));
+                RedisHelper.Add($"S1030Read.RtaskState_LAST", "1", out string msg);
+            }
+            else if (tag.SA1030.RtaskState != 4 && tag.SA1030.RtaskState_LAST == 1)
+                RedisHelper.Add($"S1030Read.RtaskState_LAST", "0", out string msg);
             //if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
             //{
             //    SetRedistoPlc("A1022鏀捐揣浜や簰.Ssetreq", "false", "A1022鏀捐揣浜や簰Queue", "娓呯悊");
@@ -2180,8 +2296,16 @@
             //}
             //Console.WriteLine($"SA1030 浠诲姟鐘舵�锛歿tag.SA1030.RtaskState}- 绌洪棽{tag.SA1030.R5绌洪棽}-->瀵瑰簲缁堢偣2001>绌洪棽5锛歿tag.SA2001.R5绌洪棽}");
         }
+        static int i = 0;
         public void Thread2030Down(Tag tag)
         {
+            i++;
+            if (i > 2 * 3600 / 3)
+            {
+                Console.Clear();
+                LogHelper.Info($"寰幆{i}娆�> 娓呯┖鎺у埗鍙般�");
+                i = 0;
+            }
 
             //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛�  =====>");
             //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇");
@@ -2507,9 +2631,9 @@
                                 case "1022":
                                     {
                                         type = "A008";
-                                        if (tag.SA1022.R5绌洪棽 != 1)
+                                        if (tag.SA1022.R5绌洪棽 != 5)
                                         {
-                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣1022 闈炵┖闂诧紝涓嶆帹閫�);
+                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣1022 >{tag.SA1022.R5绌洪棽} 闈炵┖闂诧紝涓嶆帹閫�);
                                             continue;
                                         }
                                     }
@@ -2517,9 +2641,9 @@
                                 case "1025":
                                     {
                                         type = "A007";
-                                        if (tag.SA1025.R5绌洪棽 != 1)
+                                        if (tag.SA1025.R5绌洪棽 != 5)
                                         {
-                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 1025 闈炵┖闂诧紝涓嶆帹閫�);
+                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 1025 >{tag.SA1025.R5绌洪棽} 闈炵┖闂诧紝涓嶆帹閫�);
                                             continue;
                                         }
                                     }
@@ -2527,9 +2651,9 @@
                                 case "2001":
                                     {
                                         type = "A007";
-                                        if (tag.SA2001.R5绌洪棽 != 1)
+                                        if (tag.SA2001.R5绌洪棽 != 5)
                                         {
-                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 2001 闈炵┖闂诧紝涓嶆帹閫�);
+                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 2001>{tag.SA2001.R5绌洪棽} 闈炵┖闂诧紝涓嶆帹閫�);
                                             continue;
                                         }
                                     }
@@ -2537,9 +2661,9 @@
                                 case "3001":
                                     {
                                         type = "A010";
-                                        if (tag.ssx杈撻�绾�s3001.R5绌洪棽 != 1)
+                                        if (tag.ssx杈撻�绾�s3001.R5绌洪棽 != 5)
                                         {
-                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3001 闈炵┖闂诧紝涓嶆帹閫�);
+                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3001>{tag.ssx杈撻�绾�s3001.R5绌洪棽} 闈炵┖闂诧紝涓嶆帹閫�);
                                             continue;
                                         }
                                     }
@@ -2547,9 +2671,9 @@
                                 case "3006":
                                     {
                                         type = "A010";
-                                        if (tag.ssx杈撻�绾�s3006.R5绌洪棽 != 1)
+                                        if (tag.ssx杈撻�绾�s3006.R5绌洪棽 != 5)
                                         {
-                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3006 闈炵┖闂诧紝涓嶆帹閫�);
+                                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3006>{tag.ssx杈撻�绾�s3001.R5绌洪棽} 闈炵┖闂诧紝涓嶆帹閫�);
                                             continue;
                                         }
                                     }
@@ -2703,7 +2827,7 @@
 
         public string procNo()
         {
-            return TaskProcess.GenerateTaskNo("鏃ュ織娴佹按鍙�);
+            return TaskProcess.GenerateTaskNo("鏃ュ織娴佹按鍙�, "LOG");
         }
         public bool SetRedistoPlc(string key, string value, string queue, string desc)
         {
@@ -3043,13 +3167,14 @@
                 LogHelper.Info("瀹氬瓙1鍙风嚎 deviceType 5 娌℃湁閰嶇疆銆�);
                 return;
             }
-            LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST}  D2226>{tag.DZ1.D2226}  D2226_LAST>{tag.DZ1.D2226_LAST}");
+            LogHelper.Info($" {VERX.deviceName} 鏃堕棿鎴�{RedisHelper.Get<string>("D瀹氬瓙1鍙锋満姊版墜#Timestamp", out string mg)} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST}  D2226>{tag.DZ1.D2226}  D2226_LAST>{tag.DZ1.D2226_LAST}");
             if (tag.DZ1.D2221 == 1 && tag.DZ1.D2221_LAST == 0)
             {
                 var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                 {
                     requestType = 7,
                     startBit = VERX.location[0],
+                    endBit = "1025",
                     unLockStartBitOutbin = true
                 }));
                 LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
@@ -3073,6 +3198,7 @@
                 {
                     requestType = 7,
                     startBit = VERX.location[1],
+                    endBit = "1025",
                     unLockStartBitOutbin = true
                 }));
                 LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
@@ -3102,13 +3228,14 @@
                 LogHelper.Info("瀹氬瓙2鍙风嚎 deviceType 5 娌℃湁閰嶇疆銆�);
                 return;
             }
-            LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST}  D2226>{tag.DZ1.D2226}  D2226_LAST>{tag.DZ1.D2226_LAST}");
+            LogHelper.Info($" {VERX.deviceName} 鏃堕棿鎴�{RedisHelper.Get<string>("D瀹氬瓙2鍙锋満姊版墜#Timestamp", out string mg)} D2221>{tag.DZ2.D2221} D2221_LAST>{tag.DZ2.D2221_LAST}  D2226>{tag.DZ2.D2226}  D2226_LAST>{tag.DZ2.D2226_LAST}");
             if (tag.DZ2.D2221 == 1 && tag.DZ2.D2221_LAST == 0)
             {
                 var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                 {
                     requestType = 7,
                     startBit = VERX.location[0],
+                    endBit = "1025",
                     unLockStartBitOutbin = true
                 }));
                 LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
@@ -3131,6 +3258,7 @@
                 {
                     requestType = 7,
                     startBit = VERX.location[1],
+                    endBit = "1025",
                     unLockStartBitOutbin = true
                 }));
                 LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");

--
Gitblit v1.9.1