| | |
| | | using System.IO; |
| | | using GZ.Device.Agv; |
| | | using System.Net.NetworkInformation; |
| | | using System.Windows.Documents; |
| | | using System.Text.RegularExpressions; |
| | | |
| | | namespace GZ.Projects.AuxAllWCS |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | 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åé£ç§1ä¸çº¿.Config.IP, |
| | | device1.påé£ç§2ä¸çº¿.Config.IP, |
| | | device1.Då®å1å·æºæ¢°æ.Config.IP, |
| | | device1.Då®å2å·æºæ¢°æ.Config.IP, |
| | | device1.Jsæ·é¡º1.Config.IP, |
| | | device1.Jsæ·é¡º2.Config.IP, |
| | | device1.ç»´å¸å°æè1.Config.IP, |
| | | device1.ç»´å¸å°æè2.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åé£ç§1ä¸çº¿.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) |
| | |
| | | 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 = "") |
| | | { |
| | | |
| | |
| | | //è½¦èµ°äº å¼å
æ
|
| | | if (!goin) |
| | | { |
| | | if (dev.deviceType == 4) |
| | | { |
| | | 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 == 1) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | |
| | | 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); |
| | |
| | | { |
| | | 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", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "1030": |
| | | { |
| | | if (tag.SA1030.SreadCan) |
| | | { |
| | | LogHelper.Info($"1030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A1030å货交äº.Ssetreq", "true", "A1030å货交äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | if (tag.SA2030.SreadCan) |
| | | { |
| | | LogHelper.Info($"2030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A2030å货交äº.Ssetreq", "true", "A2030å货交äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | if (tag.ssxè¾é线.s3005.SreadCan) |
| | | { |
| | | LogHelper.Info($"3005 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A3005å货交äº.Ssetreq", "true", "A3005å货交äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | if (tag.ssxè¾é线.s3010.SreadCan) |
| | | { |
| | | LogHelper.Info($"3010 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A3010å货交äº.Ssetreq", "true", "A3010å货交äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | //} |
| | | //switch (loc) |
| | | //{ |
| | | case "1022": |
| | | { |
| | | if (tag.SA1022.SreadCan) |
| | | { |
| | | LogHelper.Info($"1022 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A1022æ¾è´§äº¤äº.Ssetreq", "true", "A1022æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | if (tag.SA1025.SreadCan) |
| | | { |
| | | LogHelper.Info($"1025 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A1025æ¾è´§äº¤äº.Ssetreq", "true", "A1025æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | if (tag.SA2001.SreadCan) |
| | | { |
| | | LogHelper.Info($"2001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A2001æ¾è´§äº¤äº.Ssetreq", "true", "A2001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | if (tag.ssxè¾é线.s3001.SreadCan) |
| | | { |
| | | LogHelper.Info($"3001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A3001æ¾è´§äº¤äº.Ssetreq", "true", "A3001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | if (tag.ssxè¾é线.s3006.SreadCan) |
| | | { |
| | | LogHelper.Info($"3006 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | SetRedistoPlc("A3006æ¾è´§äº¤äº.Ssetreq", "true", "A3006æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | 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)); |
| | |
| | | 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; |
| | | //ä¸çº¿å°åï¼10.221.55.181 端å£ï¼6000 |
| | | //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; |
| | | } |
| | | //äºçº¿å°åï¼10.221.55.179 端å£ï¼6000 |
| | | //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å
æ
åå
¥ä½éç½®å®æã =================> "); |
| | | } |
| | |
| | | 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)); |
| | |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | //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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | } |
| | | } |
| | | |
| | | 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", "åAGVç³è¯·"); |
| | | // SetRedistoPlc("A1019å货交äº.SOver", "false", "A1019å货交äºQueue", "åAGVç³è¯·"); |
| | | //} |
| | | //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æçç }"); |
| | | |
| | | } |
| | | |
| | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} {(sx == null ? "é" : "æ¯")}æ»è£
æºå¨äººä»»å¡"); |
| | | if (sx == null) |
| | | { |
| | | gotoOOOOOOOOO: |
| | | if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX)) |
| | | { |
| | | // 嫿任å¡ã æå®ç©æä¸æå®æçï¼éè¦åºåº |
| | | 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æçç )) |
| | | { |
| | | LogHelper.Info($"è§£é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æçç , |
| | |
| | | { |
| | | task.S_CNTRS = tag.SA2030.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} 2030 åºå£çæçç©æä¸ç¬¦å"); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 2030 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //TODO------------------2027 2220 2013.. è¯å«ä¸ä¸ï¼å¼å§åº |
| | | //2027 2220 2013.. è¯å«ä¸ä¸ï¼å¼å§åº |
| | | //1 ç27 20 13 æ¯å¦æä»»å¡ã æåä¸åºäºã çåºå£å¤æå¹é
ã |
| | | //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ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | 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ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | 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ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | 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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} æ¥å¿è½è·å°è¿ï¼è¯´ææ²¡ç©æï¼æè
é½ä¸ç¬¦å æ æ³å»2030"); |
| | | } |
| | | break; |
| | | case "1019": |
| | |
| | | { |
| | | task.S_CNTRS = tag.SA2030.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} 1019 åºå£çæçç©æä¸ç¬¦å"); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 1019 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | break; |
| | | //case "1030": |
| | | // { |
| | | |
| | | // } |
| | | //break; |
| | | case "3005": |
| | | { |
| | | 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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 3010 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | } |
| | | 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($"è§£é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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "1025": |
| | | // { |
| | | // if (tag.SA1025.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "2001": |
| | | // { |
| | | // if (tag.SA2001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3001": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3006": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3006.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£é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> { "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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 1019 RtaskState>{tag.SA1019.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | else if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) //1030 æ¯ä¸»å¨ç³è¯·ï¼ ä¸ç¨å¤æã |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | |
| | | type = "A007"; |
| | | if (tag.SA2030.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 2030 RtaskState>{tag.SA2030.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3005.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3005 RtaskState>{tag.ssxè¾é线.s3005.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3010.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3010 RtaskState>{tag.ssxè¾é线.s3010.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) |
| | | switch (task.S_END_LOC) |
| | | { |
| | | case "1022": |
| | | { |
| | | type = "A008"; |
| | | if (tag.SA1022.R5ç©ºé² != 1) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA1025.R5ç©ºé² != 1) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA2001.R5ç©ºé² != 1) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001 é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3001.R5ç©ºé² != 1) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001 é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3006.R5ç©ºé² != 1) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3006 é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | |
| | | LogHelper.Info($"è§£é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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡ ç»æï¼{res}"); |
| | | if (res) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | 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åplc æè¿°ï¼{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) |
| | | { |
| | | // æ¥è¯¢ä»»å¡ï¼æ ¹æ®ä»»å¡å· |
| | |
| | | // string V = inde ? "D1224" : "D1225"; |
| | | // Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | //}); |
| | | } |
| | | else |
| | | switch (device.deviceType) |
| | | { |
| | | case 4: |
| | | { |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); |
| | |
| | | LogHelper.Info($"{ssloc}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | } |
| | | } |
| | | else |
| | | switch (device2.deviceType) |
| | | { |
| | | case 4: |
| | | { |
| | | if (wcsTask.S_END_LOC == "2001") |
| | | { |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case 5: |
| | |
| | | } |
| | | View1_Init(sender, e); |
| | | |
| | | |
| | | /// <summary> |
| | | /// ç¨åºç段:åå§åé
ç½® |
| | | /// æè¿°: |
| | |
| | | { |
| | | #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) |
| | |
| | | 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) |
| | |
| | | /// </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) |
| | |
| | | { |
| | | #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) |
| | | { |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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}å¼å§å建>"); |
| | |
| | | var fromLoc = locc.FindEntity(x => x.S_LOC_CODE == from); |
| | | var endLoc = locc.FindEntity(x => x.S_LOC_CODE == to); |
| | | |
| | | string t = ""; |
| | | 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; |
| | | string t = ""; |
| | | if (workMode == "AGV") |
| | | { |
| | | |
| | | t = "F01"; |
| | | if (s && !e) t = "A002"; |
| | | if (!s && e) t = "A003"; |
| | |
| | | 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] |
| | |
| | | "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-æ æï¼5-空é²ç¶æ", |
| | | "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" |
| | | } |
| | |
| | | "ProjectSn": "1", |
| | | "DeviceList": [], |
| | | "CreationTime": "2025-02-26 15:31:23", |
| | | "LastWriteTime": "2025-07-09 09:42:51" |
| | | "LastWriteTime": "2025-07-09 16:33:10" |
| | | } |
| | |
| | | } |
| | | ], |
| | | "CreationTime": "2025-02-26 15:31:23", |
| | | "LastWriteTime": "2025-07-08 10:35:41" |
| | | "LastWriteTime": "2025-07-09 11:40:07" |
| | | } |
| | |
| | | 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 åéç» |
| | |
| | | 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() |
| | | { |
| | | ç»´å¸å°æè1 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile |
| | |
| | | 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(ç»´å¸å°æè1!=null){ç»´å¸å°æè1.Run();} |
| | |
| | | if(A3005å货交äº!=null){A3005å货交äº.Run();} |
| | | if(A3006æ¾è´§äº¤äº!=null){A3006æ¾è´§äº¤äº.Run();} |
| | | if(A3010å货交äº!=null){A3010å货交äº.Run();} |
| | | if(S2008Read!=null){S2008Read.Run();} |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region S2008Read |
| | | public _S2008Read S2008Read = new _S2008Read(); |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public class _S2008Read |
| | | { |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | } |
| | | ], |
| | | "CreationTime": "2025-02-26 15:31:23", |
| | | "LastWriteTime": "2025-07-08 09:54:00", |
| | | "LastWriteTime": "2025-07-09 11:37:29", |
| | | "HasSaved": true |
| | | } |
| | |
| | | }, |
| | | { |
| | | "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": { |
| | |
| | | "HmiEvent": {} |
| | | } |
| | | }, |
| | | "FullName": "ä¸å¡é»è¾.Program4", |
| | | "FullName": "ä¸å¡é»è¾.Ipping", |
| | | "ParentFullName": "ä¸å¡é»è¾", |
| | | "Enabled": "Enabled" |
| | | }, |
| | |
| | | } |
| | | ], |
| | | "CreationTime": "2025-02-26 15:31:20", |
| | | "LastWriteTime": "2025-07-08 09:53:59", |
| | | "LastWriteTime": "2025-07-09 11:37:29", |
| | | "HasSaved": true |
| | | } |
| | |
| | | "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": [] |
| | |
| | | ] |
| | | }, |
| | | "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", |