From eb66e5e120736094935feffc1417dd421a1ea80b Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期四, 10 七月 2025 11:42:55 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs | 77 ++++++++++++++++++++++++++++++++------ 1 files changed, 64 insertions(+), 13 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..b7d2aec 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) @@ -183,6 +194,7 @@ 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 +1688,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 +1758,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; @@ -1979,7 +2011,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 +2023,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 +2050,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 +2062,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 +2074,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 +2086,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 +2098,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 +2110,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 +2122,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 +2134,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 +2146,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鐢宠"); -- Gitblit v1.9.1