| | |
| | | { |
| | | var cacheKey = $"{instance.GetType().FullName}_{methodName}"; |
| | | |
| | | try |
| | | { |
| | | |
| | | if (!_methodCache.TryGetValue(cacheKey, out var methodDelegate)) |
| | | { |
| | | // è·åæ¹æ³ä¿¡æ¯ |
| | |
| | | // return null; |
| | | return methodDelegate.DynamicInvoke(args); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error($"InvokeMethod > cacheKey-{ex.Message}", ex); |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | // æ ¹æ®æ¹æ³ç¾åçæå¯¹åºçå§æç±»å |
| | | private static Type GetDelegateType(MethodInfo methodInfo) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //private static TaskRepository _repository; |
| | | //public static TaskRepository _TpInstence |
| | | //{ |
| | | // get |
| | | // { |
| | | // if (_repository == null) |
| | | // _repository = new TaskRepository(); |
| | | // return _repository; |
| | | // } |
| | | //} |
| | | /// <summary> |
| | | /// é
ç½®åå§åã |
| | | /// </summary> |
| | |
| | | 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)); |
| | | tasks.Add(GetTask(taskssss1, tag, 3000)); |
| | | tasks.Add(GetTask(taskssss2, tag, 3000)); |
| | | tasks.Add(GetTask(taskssss3, 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)); |
| | | |
| | | |
| | | tasks.Add(GetTask(ThreadMXC5, tag, 3000)); |
| | | tasks.Add(GetTask(ThreadMXC6, tag, 3000)); |
| | | |
| | | Task.WaitAll(tasks.ToArray()); |
| | | } |
| | | void taskssss1(Tag tag) |
| | | { |
| | | sa1025(tag); |
| | | sa1030(tag); |
| | | } |
| | | void taskssss2(Tag tag) |
| | | { |
| | | sa2001(tag); |
| | | sa2030(tag); |
| | | sa2008(tag); |
| | | } |
| | | void taskssss3(Tag tag) |
| | | { |
| | | sa3001(tag); |
| | | sa3005(tag); |
| | | sa3006(tag); |
| | | sa3010(tag); |
| | | } |
| | | |
| | | public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>(); |
| | |
| | | Console.WriteLine($"ThreadTaskRun ä»»å¡ä¸å =================> "); |
| | | LogHelper.Info("ThreadTaskRun ä»»å¡ä¸å"); |
| | | |
| | | ITaskRepository taskservice = new TaskRepository(); |
| | | TaskRepository taskservice = new TaskRepository(); |
| | | try |
| | | { |
| | | LogHelper.Info("ä»»å¡ä¸å AGV ä»»å¡ è¿å
¥"); |
| | |
| | | { |
| | | LogHelper.Info(ex.Message + ex.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | taskservice.Disnull(); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" }; |
| | | TaskActRepository taskActRepository = new TaskActRepository(); |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | try |
| | | { |
| | | |
| | | var requires1 = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList(); |
| | | var timeMorhours = requires1.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1); |
| | | if (timeMorhours.Any()) |
| | |
| | | if (dev != null) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å¤ç =================> "); |
| | | var V = dev.location.ToList().FindIndex(x => x == loc) == 0; |
| | | var locindex = dev.location.ToList().FindIndex(x => x == loc); |
| | | var V = locindex == 0; |
| | | //è½¦èµ°äº å¼å
æ
|
| | | if (!goin) |
| | | { |
| | |
| | | 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"); |
| | | } |
| | | else if (dev.deviceType == 6) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç group=================> "); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (locindex == 0 ? "WD1210" : locindex == 1 ? "WD1211" : "WD1212"), "0", dev.deviceName + "Queue"); |
| | | GZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity(); |
| | | group.groupName = dev.deviceName + ".Turn" + (V ? "1" : "2"); |
| | | group.queueStatus = 1; |
| | | group.queueTime = DateTime.Now; |
| | | group.writeList = new List<GZ.Modular.Redis.ParamData>(); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1213 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1213.paramName = dev.deviceName + "." + (V ? "WD1213" : "WD1215"); |
| | | p_WD1213.paramValue = "1"; |
| | | group.writeList.Add(p_WD1213); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1214 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1214.paramName = dev.deviceName + "." + (V ? "WD1214" : "WD1216"); |
| | | p_WD1214.paramValue = "0"; |
| | | group.writeList.Add(p_WD1214); |
| | | |
| | | string lastKey = ""; |
| | | string lastVal = ""; |
| | | Conn.é»è®¤Redis.SetQueue(group, dev.deviceName + "Queue", lastKey, lastVal); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç group over=================> "); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç宿 =================> "); |
| | | } |
| | |
| | | { |
| | | |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16)); |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å
³éç¶æï¼{close}ï¼"); |
| | | if (close == 0) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "1", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "0", dev.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else if (dev.deviceType == 6) |
| | | { |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "RD1203" : "RD1204")), typeof(System.UInt16)); |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å
³éç¶æï¼{close}ï¼"); |
| | | var canDo = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (locindex == 0 ? "RD1200" : locindex == 1 ? "RD1201" : "RD1202")), typeof(System.UInt16)); |
| | | if (close == 0) |
| | | { |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (locindex == 0 ? "WD1210" : locindex == 1 ? "WD1211" : "WD1212"), "1", dev.deviceName + "Queue"); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç group =================> "); |
| | | GZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity(); |
| | | group.groupName = dev.deviceName + ".Turn" + (V ? "1" : "2"); |
| | | group.queueStatus = 1; |
| | | group.queueTime = DateTime.Now; |
| | | group.writeList = new List<GZ.Modular.Redis.ParamData>(); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1213 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1213.paramName = dev.deviceName + "." + (V ? "WD1213" : "WD1215"); |
| | | p_WD1213.paramValue = "0"; |
| | | group.writeList.Add(p_WD1213); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1214 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1214.paramName = dev.deviceName + "." + (V ? "WD1214" : "WD1216"); |
| | | p_WD1214.paramValue = "1"; |
| | | group.writeList.Add(p_WD1214); |
| | | |
| | | string lastKey = ""; |
| | | string lastVal = ""; |
| | | Conn.é»è®¤Redis.SetQueue(group, dev.deviceName + "Queue", lastKey, lastVal); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç group over=================> "); |
| | | } |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç宿 =================> "); |
| | |
| | | item.S_REVIEW_COMMENT = $"车åç»§ç»ä»»å¡OK"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | |
| | | } |
| | | System.Threading.Thread.Sleep(3000); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskActRepository.Disnull(); |
| | | taskRepository.Disnull(); |
| | | } |
| | | //ResetGats(tag); |
| | | } |
| | | public void ResetGats(Tag tag) |
| | |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | try |
| | | { |
| | | foreach (var Bssx in new string[] { "1020", "1023" }) |
| | | { |
| | | var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); |
| | |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | |
| | | foreach (var item in new string[] { "1004", "1012", "1006", "1014", "1026", "1017" }) |
| | | { |
| | | var R5 = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²"), typeof(System.UInt16)); |
| | | var R5空é²_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²_LAST"), typeof(System.UInt16)); |
| | | if (R5 != 5 && R5空é²_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "0", $"S{item}ReadQueue"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void ThreadDdown(Tag tag) |
| | | { |
| | | Console.WriteLine($"ThreadDdown 08 16==================> 1026"); |
| | | if (tag.RGV.Rå
çµç¶æ == 1 || tag.RGV.Ræå¨1èªå¨2 == 1 || tag.RGV.RgvrunError > 0) |
| | | { |
| | | LogHelper.Info($"RGV æå¨||æ
é||å
çµï¼08 16 > 1026ç»æ¢ã"); |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | /** |
| | | foreach (var Bssx in new string[] { "1008", "1016" }) |
| | | { |
| | | var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); |
| | |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | } |
| | | |
| | | public void Thread0210Down(Tag tag) |
| | | { |
| | | Console.WriteLine($"Thread0210Down ==================>"); |
| | | if (tag.RGV.Rå
çµç¶æ == 1 || tag.RGV.Ræå¨1èªå¨2 == 1 || tag.RGV.RgvrunError > 0) |
| | | { |
| | | LogHelper.Info($"RGV æå¨||æ
é||å
çµï¼02 10 > 1017ç»æ¢ã"); |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | |
| | | foreach (var Bssx in new string[] { "1002", "1010" }) |
| | | { |
| | | var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); |
| | |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | **/ |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadEdown>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | |
| | | foreach (var item in new string[] { "1004", "1012", "1006", "1014", "1026", "1017" }) |
| | | { |
| | | var R5 = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²"), typeof(System.UInt16)); |
| | | var R5空é²_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²_LAST"), typeof(System.UInt16)); |
| | | if (R5 != 5 && R5空é²_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "0", $"S{item}ReadQueue"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void ThreadDdown(Tag tag) |
| | | { |
| | | Console.WriteLine($"ThreadDdown 08 16==================> 1026"); |
| | | if (tag.RGV.Rå
çµç¶æ == 1 || tag.RGV.Ræå¨1èªå¨2 == 1 || tag.RGV.RgvrunError > 0) |
| | | { |
| | | LogHelper.Info($"RGV æå¨||æ
é||å
çµï¼08 16 > 1026ç»æ¢ã"); |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | try |
| | | { |
| | | foreach (var Bssx in new string[] { "1008", "1016" }) |
| | | { |
| | | var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); |
| | | var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); |
| | | var Ræçç = (System.String)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.Ræçç "), typeof(System.String)); |
| | | Console.WriteLine($"{Bssx} æ»¡ä¸æ£æµï¼ä»»å¡ç³è¯·ï¼{RtaskState}- æ¯å¦å·²å¤çï¼{RtaskState_LAST}- æçç ï¼{Ræçç }"); |
| | | if (RtaskState == 3 && RtaskState_LAST == 0) |
| | | { |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | |
| | | var item = "1026"; |
| | | var R5 = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²"), typeof(System.UInt16)); |
| | | var R5空é²_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²_LAST"), typeof(System.UInt16)); |
| | | if (R5 == 5 && R5空é²_LAST == 0) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1026", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg2); |
| | | |
| | | LogHelper.Info($"{Ræçç } å®åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 1, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | //if (strr.success && strr.data != null) |
| | | //{ |
| | | |
| | | //} |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "1", $"S{item}ReadQueue"); |
| | | break; |
| | | } |
| | | } |
| | | else if (R5 != 5 && R5空é²_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg2); |
| | | } |
| | | } |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadDown>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | } |
| | | |
| | | public void Thread0210Down(Tag tag) |
| | | { |
| | | //return; |
| | | Console.WriteLine($"Thread0210Down ==================>"); |
| | | if (tag.RGV.Rå
çµç¶æ == 1 || tag.RGV.Ræå¨1èªå¨2 == 1 || tag.RGV.RgvrunError > 0) |
| | | { |
| | | LogHelper.Info($"RGV æå¨||æ
é||å
çµï¼02 10 > 1017ç»æ¢ã"); |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | try |
| | | { |
| | | foreach (var Bssx in new string[] { "1002", "1010" }) |
| | | { |
| | | var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); |
| | | var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); |
| | | var Ræçç = (System.String)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{Bssx}Read.Ræçç "), typeof(System.String)); |
| | | Console.WriteLine($"{Bssx} æ»¡ä¸æ£æµï¼ä»»å¡ç³è¯·ï¼{RtaskState}- æ¯å¦å·²å¤çï¼{RtaskState_LAST}- æçç ï¼{Ræçç }"); |
| | | if (RtaskState == 3 && RtaskState_LAST == 0) |
| | | { |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var item = "1017"; |
| | | var R5 = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²"), typeof(System.UInt16)); |
| | | var R5空é²_LAST = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue($"S{item}Read.R5空é²_LAST"), typeof(System.UInt16)); |
| | | if (R5 == 5 && R5空é²_LAST == 0) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1017", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg1); |
| | | LogHelper.Info($"{Ræçç } 转åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 2, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "1", $"S{item}ReadQueue"); |
| | | break; |
| | | } |
| | | } |
| | | else if (R5 != 5 && R5空é²_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg1); |
| | | } |
| | | } |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("Thread0210Down>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | } |
| | | |
| | |
| | | public void ResolveMesTask(Tag tag) |
| | | { |
| | | TaskRepository taskservice = new TaskRepository(); |
| | | try |
| | | { |
| | | var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88); |
| | | var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceType == 2); |
| | | //if (VERXs.Any()) |
| | | foreach (var task in tasks) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} "); |
| | |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskservice.Disnull(); |
| | | } |
| | | } |
| | | |
| | | public string procNo() |
| | | { |
| | |
| | | { |
| | | // æ¥è¯¢ä»»å¡ï¼æ ¹æ®ä»»å¡å· |
| | | //var wcsTask = WCSHelper.GetTask(model.taskCode); |
| | | ITaskRepository MainMissionService = new TaskRepository(); |
| | | TaskRepository MainMissionService = new TaskRepository(); |
| | | LocRepository locrep = new LocRepository(); |
| | | try |
| | | { |
| | | var wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO); |
| | | if (wcsTask != null) |
| | | { |
| | | if (!string.IsNullOrWhiteSpace(model.method)) |
| | | { |
| | | ILocRepository locrep = new LocRepository(); |
| | | var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC); |
| | | |
| | |
| | | LogHelper.Info($"å½åä»»å¡å·ä»»å¡ä¸åå¨{model.taskCode} agvæåäº¤äºæ¥å¿"); |
| | | return new HkReturnResult { reqCode = model.reqCode, code = 1, message = "è¿ä¸æ¯æä»¬çä»»å¡ã" }; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | locrep.Disnull(); |
| | | MainMissionService.Disnull(); |
| | | } |
| | | return new HkReturnResult { reqCode = model.reqCode, code = 0 }; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public void ThreadMXC5(Tag tag) |
| | | { |
| | | var VERX = Settings.deviceInfos.Find(x => x.deviceType == 6 && x.deviceName.Contains("1å·")); |
| | |
| | | LogHelper.Info("转å1å·çº¿ deviceType 6 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | |
| | | if (tag.ZZ1.RD1200 == 1 && tag.ZZ1.RD1200_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 11, |
| | | endBit = VERX.location[0] |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1200_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1200 == 0 && tag.ZZ1.RD1200_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1200_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ1.RD1201 == 1 && tag.ZZ1.RD1201_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 11, |
| | | endBit = VERX.location[1] |
| | | })); |
| | | LogHelper.Info($"{VERX.location[1]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1201_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1201 == 0 && tag.ZZ1.RD1201_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1201_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ1.RD1202 == 1 && tag.ZZ1.RD1202_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 9, |
| | | startBit = VERX.location[2], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[2]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1202_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1202 == 0 && tag.ZZ1.RD1202_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1202_LAST", "0", out string msg); |
| | | |
| | | } |
| | | public void ThreadMXC6(Tag tag) |
| | |
| | | LogHelper.Info("转å2å·çº¿ deviceType 6 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | |
| | | if (tag.ZZ2.RD1200 == 1 && tag.ZZ2.RD1200_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1200_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1200 == 0 && tag.ZZ2.RD1200_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1200_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ2.RD1201 == 1 && tag.ZZ2.RD1201_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1201_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1201 == 0 && tag.ZZ2.RD1201_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1201_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ2.RD1202 == 1 && tag.ZZ2.RD1202_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1202_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1202 == 0 && tag.ZZ2.RD1202_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1202_LAST", "0", out string msg); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// å®å1å·çº¿ã |
| | | /// 1.å¢å ä¸çº¿é»è¾ã 2. æåçä¿¡å·å°±åï¼æ²¡ä¿¡å·å«å |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public class HttpServer |
| | | { |