From 8dfba1cab2ea59fca7b2c9cfad2da68e9f49b440 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期三, 09 七月 2025 16:39:40 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Scripts/Custom.json | 2 2025年6月12日/AuxAllWCS/RunTime/Code/变量数据库.cs | 117 ++++ 2025年6月12日/AuxAllWCS/Build/Project/代码/自定义类.cs | 23 2025年6月12日/AuxAllWCS/RunTime/Code/设备通信.cs | 17 2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs | 15 2025年6月12日/AuxAllWCS/Devices/PlcConfig | 155 ++++++ 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs | 932 ++++++++++++++++++++++++++++++++---- 2025年6月12日/AuxAllWCS/Variable/变量数据库.json | 164 ++++++ 2025年6月12日/AuxAllWCS/Devices.rar | 0 2025年6月12日/AuxAllWCS/Net/Conn.json | 2 2025年6月12日/AuxAllWCS/Scripts/Script.json | 12 2025年6月12日/AuxAllWCS/Devices/设备通信.json | 2 12 files changed, 1,293 insertions(+), 148 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 eb835b9..10d44fc 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" @@ -28,6 +28,8 @@ using System.IO; using GZ.Device.Agv; using System.Net.NetworkInformation; +using System.Windows.Documents; +using System.Text.RegularExpressions; namespace GZ.Projects.AuxAllWCS { @@ -128,38 +130,86 @@ } - public void ThreaTotal(Tag tag) + public void ThreaTotal(Tag tag, Device device) { List<Task> tasks = new List<Task>(); + tasks.Add(GetTask(delegate (Tag tag1, Device device1) + { + 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 + }) + { + 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); + } + } + catch (Exception ex) + { + LogHelper.Error(ex.Message, ex); + } + + }, tag, device, 3000)); tasks.Add(GetTask(ThreadMXC3, tag, 3000)); tasks.Add(GetTask(ThreadMXC4, tag, 3000)); tasks.Add(GetTask(ResetGats, tag, 3000)); - + + tasks.Add(GetTask(sa1022, tag, 3000)); + tasks.Add(GetTask(sa1025, tag, 3000)); + tasks.Add(GetTask(sa1030, tag, 3000)); + 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)); Task.WaitAll(tasks.ToArray()); } - public static bool IsMachineOnline(string hostNameOrIp, int timeout = 1000) + + public bool IsMachineOnline(string hostNameOrIp, int timeout = 1000) { + //device.p鍙戦偅绉�涓嬬嚎.Config.IP + LogHelper.Info("妫�祴ip:>" + hostNameOrIp, "IP鍦ㄧ嚎妫�祴"); + bool res = false; try { using (var ping = new Ping()) { var reply = ping.Send(hostNameOrIp, timeout); - return reply.Status == IPStatus.Success; + res = reply.Status == IPStatus.Success; } } catch (PingException) { - return false; + res = false; } catch (Exception) { // 鍏朵粬寮傚父澶勭悊 - return false; + res = false; } + finally + { + LogHelper.Info("妫�祴ip:>" + hostNameOrIp + " 缁撴灉锛� + (res ? "閫� : "涓嶉�"), "IP鍦ㄧ嚎妫�祴"); + } + return res; } private Task GetTask(Action<Tag> action, Tag tag, int i = 2500) @@ -182,6 +232,25 @@ return task; } + private Task GetTask(Action<Tag, Device> action, Tag tag, Device dev, int i = 2500) + { + var task = Task.Run(() => + { + while (true) + { + try + { + action(tag, dev); + } + catch (Exception ex) + { + LogHelper.Error(ex.Message, ex); + } + Thread.Sleep(i); + } + }); + return task; + } public string WriteLine(string value = "") { @@ -1113,28 +1182,93 @@ //杞﹁蛋浜� 寮�厜鏍� if (!goin) { - if (dev.deviceType == 1) + if (dev.deviceType == 4) { - 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 ? "R02" : "R04"), "true", dev.deviceName + "Queue")); - Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue", false); + LogHelper.Info($"杞︾寮�緭閫佺嚎浜や簰> {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} SSX AGV 浜や簰銆傘�銆�); + switch (loc) + { + case "1019": + { + SetRedistoPlc("A1019鍙栬揣浜や簰.SOver", "true", "A1019鍙栬揣浜や簰Queue", "agv 鍙栬揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "1030": + { + SetRedistoPlc("A1030鍙栬揣浜や簰.SOver", "true", "A1030鍙栬揣浜や簰Queue", "agv 鍙栬揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "2030": + { + SetRedistoPlc("A2030鍙栬揣浜や簰.SOver", "true", "A2030鍙栬揣浜や簰Queue", "agv 鍙栬揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "3005": + { + SetRedistoPlc("A3005鍙栬揣浜や簰.SOver", "true", "A3005鍙栬揣浜や簰Queue", "agv 鍙栬揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "3010": + { + SetRedistoPlc("A3010鍙栬揣浜や簰.SOver", "true", "A3010鍙栬揣浜や簰Queue", "agv 鍙栬揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + //} + //switch (loc) + //{ + case "1022": + { + SetRedistoPlc("A1022鏀捐揣浜や簰.SOver", "true", "A1022鏀捐揣浜や簰Queue", "agv 鏀捐揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "1025": + { + SetRedistoPlc("A1025鏀捐揣浜や簰.SOver", "true", "A1025鏀捐揣浜や簰Queue", "agv 鏀捐揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "2001": + { + SetRedistoPlc("A2001鏀捐揣浜や簰.SOver", "true", "A2001鏀捐揣浜や簰Queue", "agv 鏀捐揣瀹屾垚鍐欏畬鎴愪氦浜�); + tag.SA2001.wTaskNo = 20012007; + tag.SA2001.wEbit = 2007; + tag.SA2001.w鎵樼洏鐮�= TaskProcess.GenerateTaskNo("铏氭嫙鎵樼洏鍙�).Substring(3); + } + break; + case "3001": + { + SetRedistoPlc("A3001鏀捐揣浜や簰.SOver", "true", "A3001鏀捐揣浜や簰Queue", "agv 鏀捐揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + case "3006": + { + SetRedistoPlc("A3006鏀捐揣浜や簰.SOver", "true", "A3006鏀捐揣浜や簰Queue", "agv 鏀捐揣瀹屾垚鍐欏畬鎴愪氦浜�); + } + break; + } } - else if (dev.deviceType == 2) + else { - 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")); + if (dev.deviceType == 1) + { + 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 ? "R02" : "R04"), "true", dev.deviceName + "Queue")); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue", false); + } + else if (dev.deviceType == 2) + { + 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"); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "0", dev.deviceName + "Queue"); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"); + } + else if (dev.deviceType == 5) + { + LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊 =================> "); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "1", dev.deviceName + "Queue"); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "0", dev.deviceName + "Queue"); + } + LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊瀹屾垚 =================> "); } - else if (dev.deviceType == 5) - { - LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊 =================> "); - Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "1", dev.deviceName + "Queue"); - Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "0", dev.deviceName + "Queue"); - } - LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊瀹屾垚 =================> "); - item.N_CREATEMETHOD = 1; item.S_REVIEW_COMMENT = $"鍏夋爡寮�惎瀹屾垚"; taskActRepository.Update(item); @@ -1144,8 +1278,124 @@ { if (dev.deviceType == 4) { - LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} SSX AGV 浜や簰銆傘�銆�); + LogHelper.Info($"杞﹁姹傝緭閫佺嚎浜や簰> {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} SSX AGV 浜や簰銆傘�銆�); //tag.SA1019.Sagverr + switch (loc) + { + case "1019": + { + if (tag.SA1019.SreadCan) + { + LogHelper.Info($"1019 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A1019鍙栬揣浜や簰.Ssetreq", "true", "A1019鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "1030": + { + if (tag.SA1030.SreadCan) + { + LogHelper.Info($"1030 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A1030鍙栬揣浜や簰.Ssetreq", "true", "A1030鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "2030": + { + if (tag.SA2030.SreadCan) + { + LogHelper.Info($"2030 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A2030鍙栬揣浜や簰.Ssetreq", "true", "A2030鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "3005": + { + if (tag.ssx杈撻�绾�s3005.SreadCan) + { + LogHelper.Info($"3005 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A3005鍙栬揣浜や簰.Ssetreq", "true", "A3005鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "3010": + { + if (tag.ssx杈撻�绾�s3010.SreadCan) + { + LogHelper.Info($"3010 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A3010鍙栬揣浜や簰.Ssetreq", "true", "A3010鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + //} + //switch (loc) + //{ + case "1022": + { + if (tag.SA1022.SreadCan) + { + LogHelper.Info($"1022 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A1022鏀捐揣浜や簰.Ssetreq", "true", "A1022鏀捐揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "1025": + { + if (tag.SA1025.SreadCan) + { + LogHelper.Info($"1025 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A1025鏀捐揣浜や簰.Ssetreq", "true", "A1025鏀捐揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "2001": + { + if (tag.SA2001.SreadCan) + { + LogHelper.Info($"2001 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A2001鏀捐揣浜や簰.Ssetreq", "true", "A2001鏀捐揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "3001": + { + if (tag.ssx杈撻�绾�s3001.SreadCan) + { + LogHelper.Info($"3001 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A3001鏀捐揣浜や簰.Ssetreq", "true", "A3001鏀捐揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + case "3006": + { + if (tag.ssx杈撻�绾�s3006.SreadCan) + { + LogHelper.Info($"3006 璇诲埌杈撻�绾垮厑璁搞�"); + continuuuuu = true; + } + else + SetRedistoPlc("A3006鏀捐揣浜や簰.Ssetreq", "true", "A3006鏀捐揣浜や簰Queue", "鍐橝GV鐢宠"); + } + break; + } } else { @@ -1186,7 +1436,7 @@ LogHelper.Info($"ThreadGrats 鍐檣(dev.deviceName + "." + (V ? "D1220" : "D1221"))}涓�1 锛�鍚庤{d12201}"); } } - else if (dev.deviceType == 3) + else if (dev.deviceType == 5) { var close = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16)); @@ -1255,15 +1505,24 @@ LogHelper.Info($"ThreadGrats deviceType5鍏夋爡鍐欏叆浣嶉噸缃�=================> "); //閲嶇疆淇″彿 //foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 5)) + { - 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.DZ2.D2211 == 1 && tag.DZ2.D2220 == 1) - tag.DZ2.D2211 = 0; - if (tag.DZ2.D2216 == 1 && tag.DZ2.D2225 == 1) - tag.DZ2.D2216 = 0; + //涓�嚎鍦板潃锛�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; + } + //浜岀嚎鍦板潃锛�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; + } } LogHelper.Info($"ThreadGrats deviceType5鍏夋爡鍐欏叆浣嶉噸缃畬鎴愩� =================> "); } @@ -1496,6 +1755,7 @@ public void Thread涓嬫枡浣嶆娴�Tag tag) { Console.WriteLine($"Thread涓嬫枡浣嶆娴� =====>"); + var lsi = new List<string>(); foreach (var ssx in new string[] { "1003", "1005", "1011", "1013" }) { var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16)); @@ -1716,31 +1976,167 @@ public void Thread1019Down(Tag tag) { - Console.WriteLine($"1019浠诲姟鐘舵�锛� =====>"); - Console.WriteLine($"1019浠诲姟鐘舵�锛歿tag.SA1019.RtaskState}- barcode:{tag.SA1019.R鎵樼洏鐮亇- 绌洪棽{tag.SA1019.R5绌洪棽}"); + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + //Console.WriteLine($"1019浠诲姟鐘舵�锛� =====>"); + //Console.WriteLine($"1019浠诲姟鐘舵�锛歿tag.SA1019.RtaskState}- barcode:{tag.SA1019.R鎵樼洏鐮亇- 绌洪棽{tag.SA1019.R5绌洪棽}"); } + + private void sa2008(Tag tag) + { + var rdisTcode = RedisHelper.Get<string>($"Arrive{2008}BarcodeLast", out string msg); + //if(tag.ssx杈撻�绾�s2008) + } + + private void sa2030(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa2001(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa1030(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa1025(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa1022(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa3010(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa3006(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa3005(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + + private void sa3001(Tag tag) + { + 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) + { + SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "鍐橝GV鐢宠"); + SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "鍐橝GV鐢宠"); + } + } + public void Thread1025Up(Tag tag) { - Console.WriteLine($"SA1025 浠诲姟鐘舵�锛� =====>"); - Console.WriteLine($"SA1025 浠诲姟鐘舵�锛歿tag.SA1025.RtaskState}- 绌洪棽{tag.SA1025.R5绌洪棽}"); + //if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) + //{ + // SetRedistoPlc("A1019鍙栬揣浜や簰.Ssetreq", "false", "A1019鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + // SetRedistoPlc("A1019鍙栬揣浜や簰.SOver", "false", "A1019鍙栬揣浜や簰Queue", "鍐橝GV鐢宠"); + //} + //Console.WriteLine($"SA1025 浠诲姟鐘舵�锛� =====>"); + //Console.WriteLine($"SA1025 浠诲姟鐘舵�锛歿tag.SA1025.RtaskState}- 绌洪棽{tag.SA1025.R5绌洪棽}"); } public void Thread1022Up(Tag tag) { - Console.WriteLine($"SA1022 =====>"); - Console.WriteLine($"SA1022 浠诲姟鐘舵�锛歿tag.SA1022.RtaskState}- 绌洪棽{tag.SA1022.R5绌洪棽}"); + //if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) + //{ + // SetRedistoPlc("A1019鍙栬揣浜や簰.Ssetreq", "false", "A1019鍙栬揣浜や簰Queue", "娓呯悊"); + // SetRedistoPlc("A1019鍙栬揣浜や簰.SOver", "false", "A1019鍙栬揣浜や簰Queue", "娓呯悊"); + //} + //Console.WriteLine($"SA1022 =====>"); + //Console.WriteLine($"SA1022 浠诲姟鐘舵�锛歿tag.SA1022.RtaskState}- 绌洪棽{tag.SA1022.R5绌洪棽}"); } public void Thread1030Down(Tag tag) { - Console.WriteLine($"SA1030 浠诲姟鐘舵�锛� =====>"); - Console.WriteLine($"SA1030 浠诲姟鐘舵�锛歿tag.SA1030.RtaskState}- 绌洪棽{tag.SA1030.R5绌洪棽}-->瀵瑰簲缁堢偣2001>绌洪棽5锛歿tag.SA2001.R5绌洪棽}"); + //Console.WriteLine($"SA1030 浠诲姟鐘舵�锛� =====>agv瀹屾垚SOver{tag.SA1030.SOver}"); + //if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) + //{ + // SetRedistoPlc("A1022鏀捐揣浜や簰.Ssetreq", "false", "A1022鏀捐揣浜や簰Queue", "娓呯悊"); + // SetRedistoPlc("A1022鏀捐揣浜や簰.SOver", "false", "A1022鏀捐揣浜や簰Queue", "娓呯悊"); + //} + //Console.WriteLine($"SA1030 浠诲姟鐘舵�锛歿tag.SA1030.RtaskState}- 绌洪棽{tag.SA1030.R5绌洪棽}-->瀵瑰簲缁堢偣2001>绌洪棽5锛歿tag.SA2001.R5绌洪棽}"); } public void Thread2030Down(Tag tag) { - Console.WriteLine($"SA2030 浠诲姟鐘舵�锛� =====>"); - Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇"); - - + //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛� =====>"); + //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇"); } @@ -1761,71 +2157,360 @@ LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} {(sx == null ? "闈� : "鏄�)}鎬昏鏈哄櫒浜轰换鍔�); if (sx == null) { + gotoOOOOOOOOO: if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX)) { // 鍙枡浠诲姟銆�鎸囧畾鐗╂枡涓嶆寚瀹氭墭鐩橈紝闇�鍑哄簱 - switch (task.S_START_LOC) - { - case "2030": - if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�) - { - var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + var ssagv = Settings.deviceInfos.Find(x => x.deviceType == 4); + if (ssagv.location.Contains(task.S_START_LOC)) + switch (task.S_START_LOC) + { + case "2030": + if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�) { - cntrCode = tag.SA2030.R鎵樼洏鐮� - type = 1 - })); - var strr = JsonConvert.DeserializeObject<MES2234>(str); - if (strr.success && strr.data.materialCode == task.S_INDEX) - { - task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� - taskservice.Update(task); + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 2030 鍑哄彛鎵樼洏鍙穥tag.SA2030.R鎵樼洏鐮亇 鍖归厤鏍¢獙銆�); + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.SA2030.R鎵樼洏鐮� + type = 1 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� + taskservice.Update(task); + goto gotoOOOOOOOOO; + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�2030 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); + } } else { - LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 2030 鍑哄彛鐨勬墭鐩樼墿鏂欎笉绗﹀悎"); + //2027 2220 2013.. 璇嗗埆涓�笅锛屽紑濮嬪簱 + //1 鐪�7 20 13 鏄惁鏈変换鍔°� 鏈夊垯涓嶅嚭浜嗐� 绛夊嚭鍙e垽鏂尮閰嶃� + //2 閮芥病鏈変换鍔★紝閫愪釜鍖归厤鏄惁绗﹀悎锛屽垯鍑哄簱銆�+ //LogHelper.Info($""); + { + var t20132027 = tag.ssx杈撻�绾�s2027; + LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + { + LogHelper.Info($"2027浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + continue; + } + } + { + var t20132027 = tag.ssx杈撻�绾�s2020; + LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + { + LogHelper.Info($"2020浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + continue; + } + } + { + var t20132027 = tag.ssx杈撻�绾�s2013; + LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + { + LogHelper.Info($"2013浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + continue; + } + } + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2027.R鎵樼洏鐮�) + { + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� + type = 1 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + LogHelper.Info($"2027 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2027.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20272030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2027.wTaskNo = 20272030; + tag.ssx杈撻�绾�s2027.wEbit = 2030; + tag.ssx杈撻�绾�s2027.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� + LogHelper.Info($"2027 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + continue; + } + } + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2020.R鎵樼洏鐮�) + { + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� + type = 1 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + LogHelper.Info($"2020 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2020.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20202030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2020.wTaskNo = 20202030; + tag.ssx杈撻�绾�s2020.wEbit = 2030; + tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� + LogHelper.Info($"2020 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + continue; + } + } + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2013.R鎵樼洏鐮�) + { + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� + type = 1 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + LogHelper.Info($"2013 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2013.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20132030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2013.wTaskNo = 20132030; + tag.ssx杈撻�绾�s2013.wEbit = 2030; + tag.ssx杈撻�绾�s2013.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� + LogHelper.Info($"2013 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + continue; + } + } + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鏃ュ織鑳借窇鍒拌繖锛岃鏄庢病鐗╂枡锛屾垨鑰呴兘涓嶇鍚�鏃犳硶鍘�030"); } - } - else - { - //TODO------------------2027 2220 2013.. 璇嗗埆涓�笅锛屽紑濮嬪簱 - } - break; - case "1019": - if (!string.IsNullOrEmpty(tag.SA1019.R鎵樼洏鐮�) - { - var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + break; + case "1019": + if (!string.IsNullOrEmpty(tag.SA1019.R鎵樼洏鐮�) { - cntrCode = tag.SA1019.R鎵樼洏鐮� - type = 2 - })); - var strr = JsonConvert.DeserializeObject<MES2234>(str); - if (strr.success && strr.data.materialCode == task.S_INDEX) - { - task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� - taskservice.Update(task); + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.SA1019.R鎵樼洏鐮� + type = 2 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� + taskservice.Update(task); + goto gotoOOOOOOOOO; + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�1019 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); + } } - else + break; + //case "1030": + // { + + // } + //break; + case "3005": { - LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 1019 鍑哄彛鐨勬墭鐩樼墿鏂欎笉绗﹀悎"); + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s3005.R鎵樼洏鐮�) + { + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.ssx杈撻�绾�s3005.R鎵樼洏鐮� + type = 2 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + task.S_CNTRS = tag.ssx杈撻�绾�s3005.R鎵樼洏鐮� + taskservice.Update(task); + goto gotoOOOOOOOOO; + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�3010 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); + } + } } - } - break; - } + break; + case "3010": + { + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s3010.R鎵樼洏鐮�) + { + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = tag.ssx杈撻�绾�s3010.R鎵樼洏鐮� + type = 2 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data.materialCode == task.S_INDEX) + { + task.S_CNTRS = tag.ssx杈撻�绾�s3010.R鎵樼洏鐮� + taskservice.Update(task); + goto gotoOOOOOOOOO; + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�3010 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); + } + } + } + break; + } + //else if (ssagv.location.Contains(task.S_END_LOC)) + // switch (task.S_END_LOC) + // { + // case "1022": + // { + // if (tag.SA1022.R5绌洪棽 != 1) + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣1022 闈炵┖闂诧紝涓嶆帹閫�); + // continue; + // } + // } + // break; + // case "1025": + // { + // if (tag.SA1025.R5绌洪棽 != 1) + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 1025 闈炵┖闂诧紝涓嶆帹閫�); + // continue; + // } + // } + // break; + // case "2001": + // { + // if (tag.SA2001.R5绌洪棽 != 1) + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 2001 闈炵┖闂诧紝涓嶆帹閫�); + // continue; + // } + // } + // break; + // case "3001": + // { + // if (tag.ssx杈撻�绾�s3001.R5绌洪棽 != 1) + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3001 闈炵┖闂诧紝涓嶆帹閫�); + // continue; + // } + // } + // break; + // case "3006": + // { + // if (tag.ssx杈撻�绾�s3006.R5绌洪棽 != 1) + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3006 闈炵┖闂诧紝涓嶆帹閫�); + // continue; + // } + // } + // break; + // } } else { + //if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) + //{ + //} + //if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) //1030 鏄富鍔ㄧ敵璇凤紝 涓嶇敤鍒ゆ柇銆�+ //{ + // //鐗╂枡鍖归厤鍒ゆ柇銆傚拰 2030鍒ゆ柇 + //} + string type = ""; + if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) + switch (task.S_START_LOC) + { + case "1019": + { + type = "A009"; + if (tag.SA1019.RtaskState != 4) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 1019 RtaskState>{tag.SA1019.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + } + break; + case "2030": + { + type = "A007"; + if (tag.SA2030.RtaskState != 4) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 2030 RtaskState>{tag.SA2030.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + } + break; + case "3005": + { + type = "A010"; + if (tag.ssx杈撻�绾�s3005.RtaskState != 4) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3005 RtaskState>{tag.ssx杈撻�绾�s3005.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + } + break; + case "3010": + { + type = "A010"; + if (tag.ssx杈撻�绾�s3010.RtaskState != 4) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3010 RtaskState>{tag.ssx杈撻�绾�s3010.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + } + break; + } if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) - { - //------------------ - } - else if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) //1030 鏄富鍔ㄧ敵璇凤紝 涓嶇敤鍒ゆ柇銆�- { - - } + switch (task.S_END_LOC) + { + case "1022": + { + type = "A008"; + if (tag.SA1022.R5绌洪棽 != 1) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣1022 闈炵┖闂诧紝涓嶆帹閫�); + continue; + } + } + break; + case "1025": + { + type = "A007"; + if (tag.SA1025.R5绌洪棽 != 1) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 1025 闈炵┖闂诧紝涓嶆帹閫�); + continue; + } + } + break; + case "2001": + { + type = "A007"; + if (tag.SA2001.R5绌洪棽 != 1) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 2001 闈炵┖闂诧紝涓嶆帹閫�); + continue; + } + } + break; + case "3001": + { + type = "A010"; + if (tag.ssx杈撻�绾�s3001.R5绌洪棽 != 1) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3001 闈炵┖闂诧紝涓嶆帹閫�); + continue; + } + } + break; + case "3006": + { + type = "A010"; + if (tag.ssx杈撻�绾�s3006.R5绌洪棽 != 1) + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 缁堢偣 3006 闈炵┖闂诧紝涓嶆帹閫�); + continue; + } + } + break; + } 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>()); + 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); LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟 缁撴灉锛歿res}"); if (res) @@ -1968,7 +2653,18 @@ } } - + public string procNo() + { + return TaskProcess.GenerateTaskNo("鏃ュ織娴佹按鍙�); + } + public bool SetRedistoPlc(string key, string value, string queue, string desc) + { + var vnc = procNo(); + LogHelper.Info($"{vnc}>>Redis.SetValue鍐檖lc 鎻忚堪锛歿desc} tagName:{key},value:{value},queue:{queue}"); + var v = Conn.榛樿Redis.SetValue(key, value, queue); + LogHelper.Info($"{vnc}>> 鍐欏叆缁撴灉{v}"); + return v; + } public HkReturnResult OperateHKTaskStatus(HaiKangOrderInfo model) { // 鏌ヨ浠诲姟锛氭牴鎹换鍔″彿 @@ -2037,6 +2733,16 @@ // Conn.榛樿Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); //}); } + else + switch (device.deviceType) + { + case 4: + { + + } + break; + + } } //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); break; @@ -2131,31 +2837,29 @@ LogHelper.Info($"{ssloc}鐢宠mes浠诲姟缁撴灉{str}"); } } - switch (device2.deviceType) - { - case 4: - { - if (wcsTask.S_END_LOC == "2001") + else + switch (device2.deviceType) + { + case 4: { } - } - break; - case 5: - { - var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; - string V = inde ? "D2210" : "D2215"; - Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); - } - break; - case 6: - { - //var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; - //string V = inde ? "D2210" : "D2215"; - //Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); - } - break; - } + break; + case 5: + { + var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; + string V = inde ? "D2210" : "D2215"; + Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); + } + break; + case 6: + { + //var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; + //string V = inde ? "D2210" : "D2215"; + //Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); + } + break; + } } //LocationMethod.JudgeLocation(wcsTask); 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 c49a6e7..277fb05 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" @@ -63,6 +63,7 @@ } View1_Init(sender, e); + /// <summary> /// 绋嬪簭鐗囨:鍒濆鍖栭厤缃� /// 鎻忚堪: @@ -810,16 +811,8 @@ { #region [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Ipping] - //LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>"); - //LogHelper.Info($"<<<<<<<<<<<<<<<<<绋嬪簭路鍚姩>>>>>>>>>>>>>>"); - - //// 浣跨敤鎷︽埅鍣�- //var interceptor = new ConsoleInterceptor(); - //Console.SetOut(interceptor); - - //LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>"); - //AnsiConsole.Markup("[underline red]Hello[/] World!"); - // AnsiConsole.Markup("[underline red]Hello[/] World!"); + //var hkr = AutoThread.InvokeMethod(AutoThread.Instance, "IsMachineOnline", new object[] { "192.168.1.103", 1000 }); + //Console.WriteLine("192.168.1.103 > " + hkr.ToString()); #endregion [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Ipping] } catch (Exception ex) @@ -848,7 +841,7 @@ try { #region [鑴氭湰][20250708095248653][涓氬姟閫昏緫.鏂扮嚎绋嬫�绾縘 - AutoThread.InvokeMethod(AutoThread.Instance, "ThreaTotal", new object[] { tag }); + AutoThread.InvokeMethod(AutoThread.Instance, "ThreaTotal", new object[] { tag, Device }); #endregion [鑴氭湰][20250708095248653][涓氬姟閫昏緫.鏂扮嚎绋嬫�绾縘 } catch (Exception ex) 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 9159ff1..51db9f9 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" @@ -143,7 +143,7 @@ /// </summary> static LogFactory() { - var loggerNames = new List<string>() { "HosttoagvTask", "HosttoagvCar", "NDC", "鏉ゥ" }; + var loggerNames = new List<string>() { "HosttoagvTask", "HosttoagvCar", "NDC", "鏉ゥ","IP鍦ㄧ嚎妫�祴" }; LogManager.Configuration = DefaultConfig(loggerNames); } public static ILogger CreateLogger(string name) @@ -522,15 +522,13 @@ { #region [鑷畾涔夌被][20250325131633664][SYSHelper] private static object locker = new object(); - internal static int GetSerialNumber(string snType, string prefix, string Vend = "0") + internal static int GetSerialNumber(string snType, string prefix) { - if (Vend == "1") - Vend = DateTime.Now.ToString("yyMMdd"); int result = 0; lock (locker) { SYSRepository sysservice = new SYSRepository(); - var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend); + var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix); if (sId != null) { @@ -552,7 +550,7 @@ } else { - sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0, CN_S_APP_TYPE = "WCS" }; + sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix , CN_N_MAX = 0, CN_S_APP_TYPE = "WCS" }; sysservice.Insert(sId); } } @@ -563,7 +561,7 @@ public class TaskProcess { #region [鑷畾涔夌被][20250325152141671][TaskProcess] - internal static bool CreateTask(string no, string from, string to, string taskType, int pri, List<string> cntrs, string workMode = "AGV", int cntrCount = 1, int startLayer = 1, int endLayer = 1) + internal static bool CreateTask(string no, string from, string to, string taskType, int pri, List<string> cntrs, string workMode = "AGV", string S_INDEX = "", int cntrCount = 1, int startLayer = 1, int endLayer = 1) { LogHelper.Info($"鍒涘缓浠诲姟 from:{from}>to {to}寮�鍒涘缓>"); @@ -572,11 +570,12 @@ var fromLoc = locc.FindEntity(x => x.S_LOC_CODE == from); var endLoc = locc.FindEntity(x => x.S_LOC_CODE == to); - var s = Settings.deviceInfos.Find(x => x.location.Contains(from)) != null; - var e = Settings.deviceInfos.Find(x => x.location.Contains(to)) != null; string t = ""; - if (workMode == "AGV") + if (workMode == "AGV" && string.IsNullOrEmpty(S_INDEX)) { + var s = Settings.deviceInfos.Find(x => x.location.Contains(from)) != null; + var e = Settings.deviceInfos.Find(x => x.location.Contains(to)) != null; + t = "F01"; if (s && !e) t = "A002"; if (!s && e) t = "A003"; @@ -652,10 +651,10 @@ taskserice.Insert(action); } - public static System.String GenerateTaskNo() + public static System.String GenerateTaskNo(string snType = "浠诲姟鍙�) { - var id = SYSHelper.GetSerialNumber("浠诲姟鍙�, "TN", "1"); var date = DateTime.Now.ToString("yyMMdd"); + var id = SYSHelper.GetSerialNumber(snType, date); return $"TN{date}{id.ToString().PadLeft(4, '0')}"; } #endregion [鑷畾涔夌被][20250325152141671][TaskProcess] diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices.rar" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices.rar" new file mode 100644 index 0000000..86b22f6 --- /dev/null +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices.rar" Binary files differ diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/PlcConfig" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/PlcConfig" index 6dbb349..e69ff57 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/PlcConfig" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/PlcConfig" @@ -9367,8 +9367,161 @@ "Reserve1": "", "Reserve2": "", "Reserve3": "" + }, + { + "ParamList": [ + { + "Id": "20250709163122958", + "Order": 1, + "Name": "RTaskNo", + "FullName": "S2008Read.RTaskNo", + "DataType": "System.UInt32", + "DataValue": "", + "SetValue": "", + "Address": "DB100.562", + "AddrType": "", + "Length": 2, + "Desc": "鎵ц浠诲姟鍙�, + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163122973", + "Order": 2, + "Name": "RSbit", + "FullName": "S2008Read.RSbit", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.566", + "AddrType": "", + "Length": 1, + "Desc": "璧峰鍦板潃", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163122989", + "Order": 3, + "Name": "REbit", + "FullName": "S2008Read.REbit", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.568", + "AddrType": "", + "Length": 1, + "Desc": "鐩爣鍦板潃", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163123005", + "Order": 4, + "Name": "RworkMode", + "FullName": "S2008Read.RworkMode", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.570", + "AddrType": "", + "Length": 1, + "Desc": "宸ヤ綔妯″紡 0-鏃犳晥,1-鎵嬪姩,2-鑱旀満,3-鑴辨満 ", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163123019", + "Order": 5, + "Name": "Rstate", + "FullName": "S2008Read.Rstate", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.572", + "AddrType": "", + "Length": 1, + "Desc": "鐘舵�鏍囧織", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163123036", + "Order": 6, + "Name": "RtaskState", + "FullName": "S2008Read.RtaskState", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.574", + "AddrType": "", + "Length": 1, + "Desc": "0-鏃犳晥,1-浠诲姟鐢宠,2-浠诲姟鎺ユ敹瀹屾垚,3-鐢宠RGV浠诲姟 4-鐢宠agv浠诲姟", + "Trigger": true, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163123051", + "Order": 7, + "Name": "R5绌洪棽", + "FullName": "S2008Read.R5绌洪棽", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "DB100.600", + "AddrType": "", + "Length": 1, + "Desc": "0-鏃犳晥锛�-绌洪棽鐘舵�", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250709163123066", + "Order": 8, + "Name": "R鎵樼洏鐮�, + "FullName": "S2008Read.R鎵樼洏鐮�, + "DataType": "System.String", + "DataValue": "", + "SetValue": "", + "Address": "DB100.602", + "AddrType": "", + "Length": 10, + "Desc": "鎵樼洏鐮�, + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + } + ], + "GroupList": [], + "Id": "1000050", + "Name": "S2008Read", + "Desc": "", + "Brand": "Siemens", + "Model": "S7_1500", + "Comm": "S7Net", + "IP": "10.221.55.150:102[0,1][v1.0]", + "RedisQueueName": "S2008ReadQueue", + "IsSimulate": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-07-09 09:42:51" + "LastWriteTime": "2025-07-09 16:33:01" } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" index effa7ab..f763782 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" @@ -2,5 +2,5 @@ "ProjectSn": "1", "DeviceList": [], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-07-09 09:42:51" + "LastWriteTime": "2025-07-09 16:33:10" } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Net/Conn.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Net/Conn.json" index bd48f57..3c1c18c 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Net/Conn.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Net/Conn.json" @@ -340,5 +340,5 @@ } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-07-08 10:35:41" + "LastWriteTime": "2025-07-09 11:40:07" } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" index 5c630d6..bf1cb02 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" @@ -6824,6 +6824,123 @@ RaisePropertyChanged("w鎵樼洏鐮�); } } + private System.UInt16 _RtaskState_LAST; + public System.UInt16 RtaskState_LAST + { + get + { + return _RtaskState_LAST; + } + set + { + _RtaskState_LAST = value; + RaisePropertyChanged("RtaskState_LAST"); + } + } + private System.UInt32 _RTaskNo; + public System.UInt32 RTaskNo + { + get + { + return _RTaskNo; + } + set + { + _RTaskNo = value; + RaisePropertyChanged("RTaskNo"); + } + } + private System.UInt16 _RSbit; + public System.UInt16 RSbit + { + get + { + return _RSbit; + } + set + { + _RSbit = value; + RaisePropertyChanged("RSbit"); + } + } + private System.UInt16 _REbit; + public System.UInt16 REbit + { + get + { + return _REbit; + } + set + { + _REbit = value; + RaisePropertyChanged("REbit"); + } + } + private System.UInt16 _RworkMode; + public System.UInt16 RworkMode + { + get + { + return _RworkMode; + } + set + { + _RworkMode = value; + RaisePropertyChanged("RworkMode"); + } + } + private System.UInt16 _Rstate; + public System.UInt16 Rstate + { + get + { + return _Rstate; + } + set + { + _Rstate = value; + RaisePropertyChanged("Rstate"); + } + } + private System.UInt16 _RtaskState; + public System.UInt16 RtaskState + { + get + { + return _RtaskState; + } + set + { + _RtaskState = value; + RaisePropertyChanged("RtaskState"); + } + } + private System.UInt16 _R5绌洪棽; + public System.UInt16 R5绌洪棽 + { + get + { + return _R5绌洪棽; + } + set + { + _R5绌洪棽 = value; + RaisePropertyChanged("R5绌洪棽"); + } + } + private System.String _R鎵樼洏鐮� + public System.String R鎵樼洏鐮�+ { + get + { + return _R鎵樼洏鐮� + } + set + { + _R鎵樼洏鐮�= value; + RaisePropertyChanged("R鎵樼洏鐮�); + } + } #endregion #region 鍙橀噺缁�diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" index ecd09be..976f44b 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" @@ -88,6 +88,7 @@ public GZ.Device.PLC.PlcBase A3005鍙栬揣浜や簰=null; public GZ.Device.PLC.PlcBase A3006鏀捐揣浜や簰=null; public GZ.Device.PLC.PlcBase A3010鍙栬揣浜や簰=null; + public GZ.Device.PLC.PlcBase S2008Read=null; public Device() { 缁村笇灏旀姄鑷� = GZ.Device.PLC.PlcFactory.CreateInstanceByFile @@ -350,6 +351,11 @@ System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "A3010鍙栬揣浜や簰"), null ); + S2008Read = GZ.Device.PLC.PlcFactory.CreateInstanceByFile + ( + System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "S2008Read"), + null + ); if(System.Configuration.ConfigurationManager.AppSettings["AutoRunPLC"]=="1") { if(缁村笇灏旀姄鑷�!=null){缁村笇灏旀姄鑷�.Run();} @@ -404,6 +410,7 @@ if(A3005鍙栬揣浜や簰!=null){A3005鍙栬揣浜や簰.Run();} if(A3006鏀捐揣浜や簰!=null){A3006鏀捐揣浜や簰.Run();} if(A3010鍙栬揣浜や簰!=null){A3010鍙栬揣浜や簰.Run();} + if(S2008Read!=null){S2008Read.Run();} } } } @@ -936,6 +943,16 @@ } #endregion + #region S2008Read + public _S2008Read S2008Read = new _S2008Read(); + /// <summary> + /// + /// </summary> + public class _S2008Read + { + } + #endregion + } #endregion diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Custom.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Custom.json" index e70aeaa..798418f 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Custom.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Custom.json" @@ -713,6 +713,6 @@ } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-07-08 09:54:00", + "LastWriteTime": "2025-07-09 11:37:29", "HasSaved": true } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Script.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Script.json" index 2a9948e..6a5aeb3 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Script.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Scripts/Script.json" @@ -1308,16 +1308,16 @@ }, { "ID": "20250323151832119", - "Name": "Program4", - "Desc": "", + "Name": "Ipping", + "Desc": "妫�祴IP鍦板潃閫氭柇", "Content": "\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\");\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<绋嬪簭路鍚姩>>>>>>>>>>>>>>\");\r\n\r\n //// 浣跨敤鎷︽埅鍣╘r\n //var interceptor = new ConsoleInterceptor();\r\n //Console.SetOut(interceptor);\r\n\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\");\r\n //AnsiConsole.Markup(\"[underline red]Hello[/] World!\");\r\n // AnsiConsole.Markup(\"[underline red]Hello[/] World!\");", "ContentCopy": "\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\");\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<绋嬪簭路鍚姩>>>>>>>>>>>>>>\");\r\n\r\n //// 浣跨敤鎷︽埅鍣╘r\n //var interceptor = new ConsoleInterceptor();\r\n //Console.SetOut(interceptor);\r\n\r\n //LogHelper.Info($\"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>\");\r\n //AnsiConsole.Markup(\"[underline red]Hello[/] World!\");\r\n // AnsiConsole.Markup(\"[underline red]Hello[/] World!\");", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { - "SyncExec": "True", - "RepeatExec": "Count", + "SyncExec": "False", + "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { @@ -1341,7 +1341,7 @@ "HmiEvent": {} } }, - "FullName": "涓氬姟閫昏緫.Program4", + "FullName": "涓氬姟閫昏緫.Ipping", "ParentFullName": "涓氬姟閫昏緫", "Enabled": "Enabled" }, @@ -1449,6 +1449,6 @@ } ], "CreationTime": "2025-02-26 15:31:20", - "LastWriteTime": "2025-07-08 09:53:59", + "LastWriteTime": "2025-07-09 11:37:29", "HasSaved": true } \ No newline at end of file diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" index 0ecb367..8de618b 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" @@ -8556,6 +8556,168 @@ "GroupID": "20250709085148618", "GroupFullName": "Tag.ssx杈撻�绾�s2008", "FullName": "Tag.ssx杈撻�绾�s2008.w鎵樼洏鐮� + }, + { + "ID": "20250709163440533", + "Name": "RtaskState_LAST", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "RtaskState_LAST", + "Map": "S2008Read.RtaskState_LAST", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.RtaskState_LAST" + }, + { + "ID": "20250709163440517", + "Name": "RTaskNo", + "Desc": "", + "Type": "System.UInt32", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "RTaskNo", + "Map": "S2008Read.RTaskNo", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.RTaskNo" + }, + { + "ID": "20250709163440502", + "Name": "RSbit", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "RSbit", + "Map": "S2008Read.RSbit", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.RSbit" + }, + { + "ID": "20250709163440487", + "Name": "REbit", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "REbit", + "Map": "S2008Read.REbit", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.REbit" + }, + { + "ID": "20250709163440471", + "Name": "RworkMode", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "RworkMode", + "Map": "S2008Read.RworkMode", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.RworkMode" + }, + { + "ID": "20250709163440455", + "Name": "Rstate", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "Rstate", + "Map": "S2008Read.Rstate", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.Rstate" + }, + { + "ID": "20250709163440440", + "Name": "RtaskState", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "RtaskState", + "Map": "S2008Read.RtaskState", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.RtaskState" + }, + { + "ID": "20250709163440425", + "Name": "R5绌洪棽", + "Desc": "", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "R5绌洪棽", + "Map": "S2008Read.R5绌洪棽", + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.R5绌洪棽" + }, + { + "ID": "20250709163440409", + "Name": "R鎵樼洏鐮�, + "Desc": "", + "Type": "System.String", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "", + "MapDevice": "S2008Read", + "MapParam": "R鎵樼洏鐮�, + "Map": "S2008Read.R鎵樼洏鐮�, + "Queue": "S2008ReadQueue", + "Converter": "", + "GroupID": "20250709085148618", + "GroupFullName": "Tag.ssx杈撻�绾�s2008", + "FullName": "Tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� } ], "Children": [] @@ -10640,7 +10802,7 @@ ] }, "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-07-09 09:45:40", + "LastWriteTime": "2025-07-09 16:34:43", "Sample": { "ID": "", "Name": "Tag", -- Gitblit v1.9.1