| | |
| | | using GZ.DB.IRepository.OIDATABASE; |
| | | using GZ.DB.Entity.OIDATABASE; |
| | | using GZ.Modular.Redis; |
| | | using System.Security.Cryptography; |
| | | namespace GZ.Projects.AuxAllWCS |
| | | { |
| | | /// <summary> |
| | |
| | | try |
| | | { |
| | | #region [èæ¬][20250323111613779][ä¸å¡é»è¾.åå§åé
ç½®] |
| | | if (Tag.Global.SettingsOver == 0) |
| | | { |
| | | SettingInit(); |
| | | Tag.Global.SettingsOver = 1; |
| | | } |
| | | else if (Settings.deviceInfos.Count == 0) |
| | | { |
| | | Tag.Global.SettingsOver = 0; |
| | | } |
| | | //LogHelper.Info("1111 +" + DateTime.Now); |
| | | //((Type)typeof(Utils)).GetMethod("ThreadSettingInit").Invoke(new Utils(), null); |
| | | //LogHelper.Info("2222 +" + DateTime.Now); |
| | | //((Type)typeof(Utils)).GetMethod("ThreadSettingInit").Invoke(new Utils(), new object[] { }); |
| | | //LogHelper.Info("3333 +" + DateTime.Now); |
| | | Action myDelegate = () => SettingInit(); |
| | | AutoThread.InvokeMethod(AutoThread.Instance, "ThreadSettingInit", new object[] { tag, myDelegate }); |
| | | //LogHelper.Info("4444 +" + DateTime.Now); |
| | | //AutoThread.InvokeMethod(AutoThread.Instance, "ThreadSettingInit", null); |
| | | //LogHelper.Info("4444 +" + DateTime.Now); |
| | | |
| | | //if (Tag.Global.SettingsOver == 0) |
| | | //{ |
| | | // SettingInit(); |
| | | // Tag.Global.SettingsOver = 1; |
| | | //} |
| | | //else if (Settings.deviceInfos.Count == 0) |
| | | //{ |
| | | // Tag.Global.SettingsOver = 0; |
| | | //} |
| | | |
| | | #endregion [èæ¬][20250323111613779][ä¸å¡é»è¾.åå§åé
ç½®] |
| | | } |
| | |
| | | } |
| | | ExitJudgeStack.TryPop(out int exitJudgeVal); |
| | | }); |
| | | |
| | | System.Threading.Tasks.Task.Factory.StartNew(() => |
| | | { |
| | | System.Threading.Thread.CurrentThread.IsBackground = true; |
| | | ExitJudgeStack.Push(0); |
| | | //ä¸ç´æ§è¡ï¼ç´å°æ»¡è¶³ç»ææ¡ä»¶ |
| | | while (true) |
| | | { |
| | | if (IsExitApp) { break; } |
| | | try |
| | | { |
| | | #region [èæ¬][20250610002647095][ä¸å¡é»è¾.ç¬¬ä¸æ 段.ç»´ç³»å°2å·.ç»´å¸å°æè2R] |
| | | LogHelper.Info($"æµè¯çº¿ç¨è¿è¡ç¶ææ¥å¿ããããã"); |
| | | #endregion [èæ¬][20250610002647095][ä¸å¡é»è¾.ç¬¬ä¸æ 段.ç»´ç³»å°2å·.ç»´å¸å°æè2R] |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Conn.é»è®¤æ¥å¿.Error(ex.ToString()); |
| | | } |
| | | finally |
| | | { |
| | | System.Threading.Thread.Sleep(3000); |
| | | } |
| | | } |
| | | ExitJudgeStack.TryPop(out int exitJudgeVal); |
| | | }); |
| | | /// <summary> |
| | | /// ç¨åºç段:ä»»å¡ä¸å |
| | | /// æè¿°: |
| | |
| | | //ä¸ç´æ§è¡ï¼ç´å°æ»¡è¶³ç»ææ¡ä»¶ |
| | | while (true) |
| | | { |
| | | if (IsExitApp) { break; } |
| | | //if (IsExitApp) { break; } |
| | | LogHelper.Info("ä»»å¡ä¸å while è¿å
¥"); |
| | | try |
| | | { |
| | | LogHelper.Info("ä»»å¡ä¸å try 1 è¿å
¥"); |
| | | #region [èæ¬][20250325085542733][ä¸å¡é»è¾.ä»»å¡ä¸å] |
| | | |
| | | ITaskRepository taskservice = new TaskRepository(); |
| | | var tklist = taskservice.FindList(x => x.S_B_STATE == "æªæ§è¡" && x.S_WORK_MODE == "AGV"); |
| | | if (tklist.Any()) |
| | | foreach (var tk in tklist.GroupBy(item => |
| | | { |
| | | var ticks = item.T_CREATE.Ticks; |
| | | return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); |
| | | }).OrderBy(x => x.Key)) |
| | | { |
| | | var ts = tk.OrderByDescending(x => x.N_PRIORITY).ToList(); |
| | | foreach (var t in ts) |
| | | { |
| | | var b = false; |
| | | b = RunTask(t); |
| | | |
| | | if (b) |
| | | { |
| | | t.S_B_STATE = "å·²æ¨é"; |
| | | taskservice.Update(t); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | //foreach (var tk in tklist.GroupBy(item => |
| | | //{ |
| | | // var ticks = item.T_CREATE.Ticks; |
| | | // return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); |
| | | //}).OrderBy(x => x.Key)) |
| | | //if (tklist.Any()) |
| | | //{ |
| | | |
| | | try |
| | | { |
| | | LogHelper.Info("ä»»å¡ä¸å ARG ä»»å¡ è¿å
¥"); |
| | | #region AGVä»»å¡ä¸åã |
| | | |
| | | var tklist = taskservice.FindList(x => x.S_B_STATE == "æªæ§è¡" && x.S_WORK_MODE == "AGV"); |
| | | if (tklist.Any()) |
| | | foreach (var tk in tklist.GroupBy(item => |
| | | { |
| | | var ticks = item.T_CREATE.Ticks; |
| | | return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); |
| | | }).OrderBy(x => x.Key)) |
| | | { |
| | | var ts = tk.OrderByDescending(x => x.N_PRIORITY).ToList(); |
| | | foreach (var t in ts) |
| | | { |
| | | var b = false; |
| | | b = RunTask(t); |
| | | |
| | | if (b) |
| | | { |
| | | t.S_B_STATE = "å·²æ¨é"; |
| | | taskservice.Update(t); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | //foreach (var tk in tklist.GroupBy(item => |
| | | //{ |
| | | // var ticks = item.T_CREATE.Ticks; |
| | | // return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); |
| | | //}).OrderBy(x => x.Key)) |
| | | //if (tklist.Any()) |
| | | //{ |
| | | |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Info(ex.Message + ex.StackTrace); |
| | | } |
| | | try |
| | | { |
| | | LogHelper.Info("ä»»å¡ä¸å Rgv ä»»å¡ è¿å
¥"); |
| | | #region Rgv |
| | | |
| | | LogHelper.Info($"æ¥çRGV çµéï¼ã{tag.RGV.Rå½åçµé}ã å
çµç¶æï¼ã{tag.RGV.Rå
çµç¶æ}ã æ
é代ç ï¼ã{tag.RGV.RgvrunError}ã"); |
| | |
| | | } |
| | | |
| | | ///1 æè´§ å°±2 åã 1 没货 å°±2 å¸è´§ï¼ é½æè´§ å°±1å¸è´§ã 齿²¡è´§ å°±1å¸ |
| | | tklist = taskservice.FindList(x => x.S_B_STATE == "æªæ§è¡" && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList(); |
| | | var tklist = taskservice.FindList(x => x.S_B_STATE == "æªæ§è¡" && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList(); |
| | | if (task1 != null && task1.S_B_STATE != "宿") //1æä»»å¡ |
| | | { |
| | | if (task2 != null && task2.S_B_STATE != "宿")// 1 æä»»å¡ 2 æä»»å¡ã |
| | |
| | | tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); |
| | | tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); |
| | | System.Threading.Thread.Sleep(750); |
| | | //RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); |
| | | //tag.RGV.taskend = 125; |
| | | //Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue"); |
| | | |
| | | LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST å 0"); |
| | | RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{task1.S_TASK_NO}> end å 125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | } |
| | | else //1æä»»å¡ 2 没任å¡ã |
| | | { |
| | |
| | | taskservice.Update(t2); |
| | | creT2 = true; |
| | | System.Threading.Thread.Sleep(750); |
| | | LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST å 0"); |
| | | RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{t2.S_TASK_NO}> end å 125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | } |
| | | } |
| | | else if (RightSide.Contains(task1.S_START_LOC)) |
| | |
| | | taskservice.Update(t2); |
| | | creT2 = true; |
| | | System.Threading.Thread.Sleep(750); |
| | | LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST å 125"); |
| | | RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{t2.S_TASK_NO}> end å 125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | } |
| | | } |
| | | //else //1 ç´æ¥å¸è´§ã |
| | |
| | | tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); |
| | | tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); |
| | | System.Threading.Thread.Sleep(750); |
| | | LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST å 0"); |
| | | RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{task1.S_TASK_NO}> taskend å 0"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | } |
| | | } |
| | | } |
| | |
| | | tag.RGV.taskno2 = Convert.ToUInt32(task2.S_TASK_NO.Substring(4)); |
| | | tag.RGV.task2do = Convert.ToUInt16(task2.S_END_LOC); |
| | | System.Threading.Thread.Sleep(750); |
| | | LogHelper.Info($"{task2.S_TASK_NO}> bit2taskOver_LAST å 0"); |
| | | RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | //tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{task2.S_TASK_NO}> taskend å125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | } |
| | | else //1mei ä»»å¡ 2 没任å¡ã |
| | | { |
| | |
| | | tag.RGV.taskno1 = tno; |
| | | LogHelper.Info($"{e1017first.S_TASK_NO}>å¼å§åå
¥ task1do>>{e1017first.S_START_LOC}ã"); |
| | | tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC); |
| | | LogHelper.Info($"{e1017first.S_TASK_NO}> taskend 125"); |
| | | LogHelper.Info($"{e1017first.S_TASK_NO}> æ´æ°ä»»å¡ã"); |
| | | e1017first.S_B_STATE = "å·²æ¨é"; |
| | | taskservice.Update(e1017first); |
| | | System.Threading.Thread.Sleep(750); |
| | | LogHelper.Info($"{e1017first.S_TASK_NO}> bit1taskOver_LAST å0"); |
| | | RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); |
| | | tag.RGV.taskend = 125; |
| | | LogHelper.Info($"{e1017first.S_TASK_NO}> taskend å125"); |
| | | //tag.RGV.taskend=125 |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | LogHelper.Info($"rgv å¤ç宿ãtaskend 125"); |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error(ex.Message, ex); |
| | | //throw ex; |
| | | LogHelper.Info(ex.Message + ex.StackTrace); |
| | | } |
| | | #endregion [èæ¬][20250325085542733][ä¸å¡é»è¾.ä»»å¡ä¸å] |
| | | } |
| | |
| | | } |
| | | 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"); |
| | | } |
| | | } |
| | | #endregion [èæ¬][20250616094224396][ä¸å¡é»è¾.æµç¨2çå¤ççè¿åº.1020空æ¡ä¸çº¿] |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | else if (ssx == "1003") |
| | | { |
| | | tag.FNK2.D2210 = 1; |
| | | tag.FNK1.D2210 = 1; |
| | | //tag.SF䏿ä½.RArrive1003_LAST = 1; |
| | | |
| | | RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "1", out string msg); |