From 60dc4564fabd9f4afed46d4c91aac7b6db9b9e6d Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期四, 10 七月 2025 14:16:10 +0800
Subject: [PATCH] 1

---
 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs |   90 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 69 insertions(+), 21 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 10d44fc..d28c119 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"
@@ -146,14 +146,25 @@
                     device1.Js鎹烽『2.Config.IP,
                     device1.缁村笇灏旀姄鑷�.Config.IP,
                     device1.缁村笇灏旀姄鑷�.Config.IP,
-                    device1.RGV.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)
-                            IsMachineOnline(matches.Value);
+                        {
+                            var b = IsMachineOnline(matches.Value);
+                            if (!Iponlines.ContainsKey(ip))
+                            {
+                                Iponlines.TryAdd(ip, b);
+                            }
+                            else
+                                Iponlines[ip] = b;
+                        }
                     }
                 }
                 catch (Exception ex)
@@ -177,12 +188,10 @@
             tasks.Add(GetTask(sa3006, tag, 3000));
             tasks.Add(GetTask(sa3010, tag, 3000));
 
-
-
-
             Task.WaitAll(tasks.ToArray());
         }
 
+        public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>();
         public bool IsMachineOnline(string hostNameOrIp, int timeout = 1000)
         {
             //device.p鍙戦偅绉�涓嬬嚎.Config.IP
@@ -1676,6 +1685,19 @@
                         {
                             RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg);
                             RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg2);
+
+                            LogHelper.Info($"{R鎵樼洏鐮亇 瀹氬瓙鐢熶骇瀹屾垚杩涜椴嶅伐锛侊紒");
+                            var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new
+                            {
+                                cntrCode = R鎵樼洏鐮�
+                                type = 1,
+                                lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02"
+                            }));
+                            //var strr = JsonConvert.DeserializeObject<MES2234>(str);
+                            //if (strr.success && strr.data != null)
+                            //{
+
+                            //}
                             //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue");
                             //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue");
                             break;
@@ -1733,6 +1755,13 @@
                         {
                             RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg);
                             RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg1);
+                            LogHelper.Info($"{R鎵樼洏鐮亇 杞瓙鐢熶骇瀹屾垚杩涜椴嶅伐锛侊紒");
+                            var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new
+                            {
+                                cntrCode = R鎵樼洏鐮�
+                                type = 2,
+                                lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02"
+                            }));
                             //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue");
                             //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue");
                             break;
@@ -1857,7 +1886,7 @@
             if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0)
             {
                 //tag.FNK1.D2215 = 0;
-                tag.FNK1.D2218 = 1;
+                //tag.FNK1.D2218 = 1;
                 //tag.FNK1.D2212_LAST = 1;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg);
 
@@ -1884,7 +1913,7 @@
             LogHelper.Info($" FN1 D2212>{tag.FNK1.D2212} D2212LAST>{tag.FNK1.D2212_LAST} D2210>{tag.FNK1.D2210} D2211>{tag.FNK1.D2211} D2213>{tag.FNK1.D2213}");
             if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0)
             {
-                tag.FNK1.D2213 = 1;
+                //tag.FNK1.D2213 = 1;
                 //tag.FNK1.D2210 = 0;
                 //tag.FNK1.D2217_LAST = 1;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg);
@@ -1919,7 +1948,7 @@
             if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0)
             {
                 //tag.FNK2.D2215 = 0;
-                tag.FNK2.D2218 = 1;
+                //tag.FNK2.D2218 = 1;
                 //tag.FNK2.D2212_LAST = 1;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg);
 
@@ -1948,7 +1977,7 @@
             if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0)
             {
                 //tag.FNK2.D2210 = 0;
-                tag.FNK2.D2213 = 1;
+                //tag.FNK2.D2213 = 1;
                 //tag.FNK2.D2217_LAST = 1;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg);
 
@@ -1979,7 +2008,7 @@
             var taggg = tag.SA1019;
             string vqu = "A1019鍙栬揣浜や簰";
             Console.WriteLine($"1019浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadSsxOver)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -1991,7 +2020,26 @@
         private void sa2008(Tag tag)
         {
             var rdisTcode = RedisHelper.Get<string>($"Arrive{2008}BarcodeLast", out string msg);
-            //if(tag.ssx杈撻�绾�s2008)
+            LogHelper.Info($"2008 鎵樼洏鍙穥tag.SA2030.R鎵樼洏鐮亇  redis Arrive{2008}BarcodeLast鎵樼洏鍙凤細{rdisTcode} 鍖归厤鏍¢獙銆�);
+            if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� && rdisTcode != tag.ssx杈撻�绾�s2008.R鎵樼洏鐮�
+            {
+                var ntr = tag.ssx杈撻�绾�s2008.R鎵樼洏鐮�
+                var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
+                {
+                    cntrCode = ntr,
+                    type = 1
+                }));
+                var strr = JsonConvert.DeserializeObject<MES2234>(str);
+                if (strr.success && strr.data != null)
+                {
+                    var end = (strr.data.lineNum == 1 ? 2027
+                                : strr.data.lineNum == 2 ? 2020 : 2013);
+                    tag.ssx杈撻�绾�s2008.wTaskNo = (uint)(20080000 + end);
+                    tag.ssx杈撻�绾�s2008.wEbit = 2027;
+                    tag.ssx杈撻�绾�s2008.R鎵樼洏鐮�= ntr;
+                    RedisHelper.Add<string>($"Arrive{2008}BarcodeLast", ntr, out msg);
+                }
+            }
         }
 
         private void sa2030(Tag tag)
@@ -1999,7 +2047,7 @@
             var taggg = tag.SA2030;
             string vqu = "A2030鍙栬揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadSsxOver)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2011,7 +2059,7 @@
             var taggg = tag.SA2001;
             string vqu = "A2001鏀捐揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadSsxOver)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2023,7 +2071,7 @@
             var taggg = tag.SA1030;
             string vqu = "A1030鍙栬揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2035,7 +2083,7 @@
             var taggg = tag.SA1025;
             string vqu = "A1025鏀捐揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2047,7 +2095,7 @@
             var taggg = tag.SA1022;
             string vqu = "A1022鏀捐揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2059,7 +2107,7 @@
             var taggg = tag.ssx杈撻�绾�s3010;
             string vqu = "A3010鍙栬揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2071,7 +2119,7 @@
             var taggg = tag.ssx杈撻�绾�s3006;
             string vqu = "A3006鏀捐揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2083,7 +2131,7 @@
             var taggg = tag.ssx杈撻�绾�s3005;
             string vqu = "A3005鍙栬揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2095,7 +2143,7 @@
             var taggg = tag.ssx杈撻�绾�s3010;
             string vqu = "A3001鏀捐揣浜や簰";
             Console.WriteLine($"{vqu}浠诲姟鐘舵�锛�  =====>浠诲姟鐢宠锛歿taggg.Ssetreq},杈撻�绾垮厑璁革細{taggg.SreadCan} 浠诲姟瀹屾垚锛歿taggg.SOver} 杈撻�绾挎敹鍒板畬鎴愶細{taggg.SreadAgvover}");
-            if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver)
+            if (taggg.SOver && taggg.SreadAgvover)
             {
                 SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠");
                 SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠");
@@ -2510,7 +2558,7 @@
 
                         LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟");
                         //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�-                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS?.Split(',').ToList() ?? new List<string>(), type);
+                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS?.Split(',').ToList() ?? new List<string>(), "AGV", type);
 
                         LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟 缁撴灉锛歿res}");
                         if (res)

--
Gitblit v1.9.1