| | |
| | | using System.Net; |
| | | using System.Threading; |
| | | using System.IO; |
| | | using GZ.Device.Agv; |
| | | using System.Net.NetworkInformation; |
| | | using System.Windows.Documents; |
| | | using System.Text.RegularExpressions; |
| | | |
| | | namespace GZ.Projects.AuxAllWCS |
| | | { |
| | |
| | | } |
| | | |
| | | // æ§è¡å§æ |
| | | if (methodName != "TaskEverythingRun") |
| | | return null; |
| | | //if (methodName != "TaskEverythingRun") |
| | | // return null; |
| | | return methodDelegate.DynamicInvoke(args); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | 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, |
| | | device1.S1002Read.Config.IP, |
| | | device1.S2001Read.Config.IP, |
| | | device1.S3001Read.Config.IP |
| | | }) |
| | | { |
| | | string pattern = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"; |
| | | |
| | | var matches = Regex.Match(ip, pattern); |
| | | if (matches.Success) |
| | | { |
| | | var b = IsMachineOnline(matches.Value); |
| | | if (!Iponlines.ContainsKey(ip)) |
| | | { |
| | | Iponlines.TryAdd(ip, b); |
| | | } |
| | | else |
| | | Iponlines[ip] = b; |
| | | } |
| | | } |
| | | } |
| | | 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 ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>(); |
| | | 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); |
| | | res = reply.Status == IPStatus.Success; |
| | | } |
| | | } |
| | | catch (PingException) |
| | | { |
| | | res = false; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | // å
¶ä»å¼å¸¸å¤ç |
| | | res = false; |
| | | } |
| | | finally |
| | | { |
| | | LogHelper.Info("æ£æµip:>" + hostNameOrIp + " ç»æï¼" + (res ? "é" : "ä¸é"), "IPå¨çº¿æ£æµ"); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | private Task GetTask(Action<Tag> action, Tag tag, int i = 2500) |
| | | { |
| | | var task = Task.Run(() => |
| | | { |
| | | while (true) |
| | | { |
| | | try |
| | | { |
| | | action(tag); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error(ex.Message, ex); |
| | | } |
| | | Thread.Sleep(i); |
| | | } |
| | | }); |
| | | 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 = "") |
| | | { |
| | | |
| | |
| | | { |
| | | //tag.Js1.D1212_LAST = 0; |
| | | RedisHelper.Add($"Jsæ·é¡º1.D1202_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".D1224", "0", VERX.deviceName + "Queue"); |
| | | } |
| | | |
| | | if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1) |
| | |
| | | { |
| | | //tag.Js1.D1213_LAST = 0; |
| | | RedisHelper.Add($"Jsæ·é¡º1.D1203_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".D1225", "0", VERX.deviceName + "Queue"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if (VERX != null) |
| | | { |
| | | if (tag.wxr1.R44) |
| | | LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr1.R44} R44LAST>{tag.wxr1.R44_LAST} R10>{tag.wxr1.R10}"); |
| | | if (tag.wxr1.R44 && !tag.wxr1.R44_LAST && tag.wxr1.R10) |
| | | { |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | | { |
| | | //䏿¥æ ¡éªã |
| | | LogHelper.Info($"{VERX.deviceNo[0]} 䏿¥æ ¡éª>{traycode}"); |
| | | |
| | | ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | | sceneType = 1, |
| | | cntrCode = traycode, |
| | | })); |
| | | if (str.Contains("true")) |
| | | var strr = JsonConvert.DeserializeObject<Mesrespone>(str); |
| | | if (strr != null && strr.success) |
| | | //if (str.Contains("true")) |
| | | { |
| | | //Conn.é»è®¤Redis.SetValue("ç»´å¸å°æè1.R10", "true", "ç»´å¸å°æè1Queue"); |
| | | tag.wxr1.R10 = true; |
| | | //tag.wxr1.R10 = true; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".R10", "true", VERX.deviceName + "Queue"); |
| | | //tag.wxr1.R44_LAST = false; |
| | | RedisHelper.Add($"ç»´å¸å°æè1.R44_LAST", "false", out string msg); |
| | | } |
| | |
| | | } |
| | | } |
| | | else { TcpServer.TcpServerSend(VERX.deviceNo[0], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E")); } |
| | | } |
| | | else if (!tag.wxr1.R10) |
| | | { |
| | | TcpServer.TrayIps.Remove(VERX.deviceNo[0]); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if (VERX != null) |
| | | { |
| | | if (tag.wxr1.R46) |
| | | LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr1.R46} R44LAST>{tag.wxr1.R46_LAST} R10>{tag.wxr1.R11}"); |
| | | if (tag.wxr1.R46 && !tag.wxr1.R46_LAST && tag.wxr1.R11) |
| | | { |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | | { |
| | | //䏿¥æ ¡éªã |
| | | LogHelper.Info($"{VERX.deviceNo[1]} 䏿¥æ ¡éª>{traycode}"); |
| | | ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | | sceneType = 1, |
| | | cntrCode = traycode, |
| | | })); |
| | | if (str.Contains("true")) |
| | | var strr = JsonConvert.DeserializeObject<Mesrespone>(str); |
| | | if (strr != null && strr.success) |
| | | //if (str.Contains("true")) |
| | | { |
| | | //Conn.é»è®¤Redis.SetValue("ç»´å¸å°æè1.R10", "true", "ç»´å¸å°æè1Queue"); |
| | | tag.wxr1.R11 = true; |
| | | //tag.wxr1.R11 = true; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".R11", "true", VERX.deviceName + "Queue"); |
| | | //tag.wxr1.R46_LAST = false; |
| | | RedisHelper.Add($"ç»´å¸å°æè1.R46_LAST", "false", out string msg); |
| | | } |
| | |
| | | } |
| | | } |
| | | else { TcpServer.TcpServerSend(VERX.deviceNo[1], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E")); } |
| | | } |
| | | else if (!tag.wxr1.R11) |
| | | { |
| | | TcpServer.TrayIps.Remove(VERX.deviceNo[1]); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if (VERX != null) |
| | | { |
| | | if (tag.wxr2.R44) |
| | | LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr2.R44} R44LAST>{tag.wxr2.R44_LAST} R10>{tag.wxr2.R10}"); |
| | | if (tag.wxr2.R44 && !tag.wxr2.R44_LAST && tag.wxr2.R10) |
| | | { |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | | { |
| | | //䏿¥æ ¡éªã |
| | | LogHelper.Info($"{VERX.deviceNo[0]} 䏿¥æ ¡éª>{traycode}"); |
| | | ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | | sceneType = 1, |
| | | cntrCode = traycode, |
| | | })); |
| | | if (str.Contains("true")) |
| | | var strr = JsonConvert.DeserializeObject<Mesrespone>(str); |
| | | if (strr != null && strr.success) |
| | | //if (str.Contains("true")) |
| | | { |
| | | //Conn.é»è®¤Redis.SetValue("ç»´å¸å°æè1.R10", "true", "ç»´å¸å°æè1Queue"); |
| | | tag.wxr2.R10 = true; |
| | | //tag.wxr2.R10 = true; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".R10", "true", VERX.deviceName + "Queue"); |
| | | //tag.wxr2.R44_LAST = false; |
| | | RedisHelper.Add($"ç»´å¸å°æè2.R44_LAST", "false", out string msg); |
| | | } |
| | |
| | | } |
| | | } |
| | | else { TcpServer.TcpServerSend(VERX.deviceNo[0], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E")); } |
| | | } |
| | | else if (!tag.wxr2.R10) |
| | | { |
| | | TcpServer.TrayIps.Remove(VERX.deviceNo[0]); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if (VERX != null) |
| | | { |
| | | if (tag.wxr2.R46) |
| | | LogHelper.Info($"{VERX.deviceName} R44>{tag.wxr2.R46} R44LAST>{tag.wxr2.R46_LAST} R10>{tag.wxr2.R11}"); |
| | | if (tag.wxr2.R46 && !tag.wxr2.R46_LAST && tag.wxr2.R11) |
| | | { |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | |
| | | else |
| | | if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode) && !string.IsNullOrEmpty(traycode.Trim())) |
| | | { |
| | | LogHelper.Info($"Threadwxr2R 䏿¥æ ¡éª>{traycode}"); |
| | | LogHelper.Info($"{VERX.deviceNo[1]} 䏿¥æ ¡éª>{traycode}"); |
| | | //䏿¥æ ¡éªã |
| | | ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | |
| | | sceneType = 1, |
| | | cntrCode = traycode, |
| | | })); |
| | | if (str.Contains("true")) |
| | | var strr = JsonConvert.DeserializeObject<Mesrespone>(str); |
| | | if (strr != null && strr.success) |
| | | { |
| | | //Conn.é»è®¤Redis.SetValue("ç»´å¸å°æè1.R10", "true", "ç»´å¸å°æè1Queue"); |
| | | tag.wxr2.R11 = true; |
| | | //Conn.é»è®¤Redis.SetValue("ç»´å¸å°æè1.R11", "true", "ç»´å¸å°æè1Queue"); |
| | | //tag.wxr2.R11 = true; |
| | | |
| | | LogHelper.Info($"Threadwxr2Rãã -åR11 true"); |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + ".R11", "true", VERX.deviceName + "Queue"); |
| | | //tag.wxr2.R46_LAST = false; |
| | | RedisHelper.Add($"ç»´å¸å°æè2.R46_LAST", "false", out string msg); |
| | | LogHelper.Info($"Threadwxr2Rãã æ ¡éªä¸æå®æã"); |
| | | } |
| | | else |
| | | { |
| | |
| | | LogHelper.Info($"Threadwxr2Rãã -åéæ«ç "); |
| | | TcpServer.TcpServerSend(VERX.deviceNo[1], GZ.Device.PLC.PlcHelper.Hex2Bin("544F4E")); |
| | | } |
| | | } |
| | | else if (!tag.wxr2.R11) |
| | | { |
| | | TcpServer.TrayIps.Remove(VERX.deviceNo[1]); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | if (tag.RGV.taskend == 125) |
| | | { |
| | | LogHelper.Info($"RGV æ125å½ä»¤æªæ§è¡ã"); |
| | | LogHelper.Info($"RGV æ125å½ä»¤æªæ§è¡ã "); |
| | | LogHelper.Info($"RGV125å½ä»¤æªæ§è¡ 任塿°æ® workmode:{tag.RGV.workMod}\n taskmod{tag.RGV.taskmod} \n t1No:{tag.RGV.taskno1}\n t1do:{tag.RGV.task1do} \n t2No:{tag.RGV.taskno2}\n t2do:{tag.RGV.task2do}\n taskend:{tag.RGV.taskend} "); |
| | | |
| | | if (tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No) |
| | | { |
| | | LogHelper.Info($"RGV125å½ä»¤æªæ§è¡ tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No èªå¨æ¸
é¤125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "0", "RGVQueue", false); |
| | | } |
| | | System.Threading.Thread.Sleep(3000); |
| | | return; |
| | | } |
| | | LogHelper.Info($"ä»»å¡ä¸å Rgv ä»»å¡ è¿å
¥ Rgvä¿¡æ¯ W1ç¶æ{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} bit1taskOver>{tag.RGV.bit1taskOver} W2ç¶æ{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} bit2taskOver>{tag.RGV.bit2taskOver}"); |
| | | LogHelper.Info($"ä»»å¡ä¸å Rgv ä»»å¡ è¿å
¥ Rgvä¿¡æ¯ W1ç¶æ{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} 1工使¡ç :{tag.RGV.bit1Code} bit1taskOver>{tag.RGV.bit1taskOver} W2ç¶æ{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} 2工使¡ç :{tag.RGV.bit2Code} bit2taskOver>{tag.RGV.bit2taskOver}"); |
| | | TaskEntity task1 = null; |
| | | TaskEntity task2 = null; |
| | | var task1Isrun = false; |
| | |
| | | task1.S_B_STATE = "åè´§å®æ"; |
| | | } |
| | | //tag.RGV.bit1taskOver = 0; |
| | | LogHelper.Info($"RGV 1å·¥ä½ä»»å¡{task1.S_TASK_NO} ç¶æåæ¢ä¸º{task1.S_B_STATE}"); |
| | | LogHelper.Info($"RGV 1å·¥ä½ä»»å¡{task1.S_TASK_NO} æ¡ç ï¼{tag.RGV.bit1Code} ç¶æåæ¢ä¸º{task1.S_B_STATE}"); |
| | | //tag.RGV.bit1taskOver_LAST = 1; |
| | | RedisHelper.Add($"RGV.bit1taskOver_LAST", "1", out string msg); |
| | | LogHelper.Info($"RGV 1å·¥ä½ä»»å¡åå¤ç"); |
| | |
| | | task2.S_B_STATE = "åè´§å®æ"; |
| | | } |
| | | //tag.RGV.bit2taskOver = 0; |
| | | LogHelper.Info($"RGV 2å·¥ä½ä»»å¡{task2.S_TASK_NO} ç¶æåæ¢ä¸º{task2.S_B_STATE}"); |
| | | LogHelper.Info($"RGV 2å·¥ä½ä»»å¡{task2.S_TASK_NO} æ¡ç ï¼{tag.RGV.bit2Code} ç¶æåæ¢ä¸º{task2.S_B_STATE}"); |
| | | RedisHelper.Add($"RGV.bit2taskOver_LAST", "1", out string msg); |
| | | LogHelper.Info($"RGV 2å·¥ä½ä»»å¡åå¤ç"); |
| | | taskservice.Update(task2); |
| | |
| | | |
| | | if (tag.RGV.bit1taskOver == 1) |
| | | tag.RGV.bit1taskOver = 0; |
| | | LogHelper.Info($"{task1.S_TASK_NO}> taskend å 0"); |
| | | LogHelper.Info($"{task1.S_TASK_NO}> taskend å 125"); |
| | | Conn.é»è®¤Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); |
| | | LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST å 0"); |
| | | RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); |
| | |
| | | var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" }; |
| | | TaskActRepository taskActRepository = new TaskActRepository(); |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE); |
| | | var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList(); |
| | | var timeMorhours = requires.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1); |
| | | if (timeMorhours.Any()) |
| | | { |
| | | foreach (var mor in timeMorhours) |
| | | { |
| | | mor.N_CREATEMETHOD = 2; |
| | | mor.S_REVIEW_COMMENT = "è¶
æ¶ä¸å¤ç"; |
| | | taskActRepository.Update(mor); |
| | | } |
| | | requires = requires.Except(timeMorhours).ToList(); |
| | | } |
| | | foreach (var item in requires) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}å
æ
å¤ç =================> "); |
| | |
| | | if (tin == -1) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä¿¡å·æªç¥{item.S_ACTION_CODE}ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | |
| | | if (task == null) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä»»å¡ä¸¢å¤±ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | |
| | | //è½¦èµ°äº å¼å
æ
|
| | | 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} å¼å¯å
æ
å¤ç宿 =================> "); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç宿 =================> "); |
| | | |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"å
æ
å¼å¯å®æ"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | //车è¦è¿å
¥äº¤äºã |
| | | else |
| | | { |
| | | if (dev.deviceType == 1) |
| | | if (dev.deviceType == 4) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç =================> "); |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读å
³éç¶æ |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{tf}"); |
| | | if (tf?.ToLower() == "true") |
| | | LogHelper.Info($"车请æ±è¾é线交äº> {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} SSX AGV 交äºããã"); |
| | | //tag.SA1019.Sagverr |
| | | switch (loc) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | 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($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue", false); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç宿 =================> "); |
| | | } |
| | | else if (dev.deviceType == 2) |
| | | else |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç =================> "); |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + ".D1202"); |
| | | int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | int close = TcpServer.GetBitdata(numm, (V ? 0 : 1)); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{close}"); |
| | | if (close == 1) |
| | | if (dev.deviceType == 1) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读å
³éç¶æ |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{tf}"); |
| | | if (tf?.ToLower() == "true") |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue", false); |
| | | } |
| | | } |
| | | else |
| | | else if (dev.deviceType == 2) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + ".D1202"); |
| | | int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | int close = TcpServer.GetBitdata(numm, (V ? 0 : 1)); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{close}"); |
| | | if (close == 1) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); |
| | | |
| | | string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg); |
| | | LogHelper.Info($"ThreadGrats å{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼ å读{d12201}"); |
| | | string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg); |
| | | LogHelper.Info($"ThreadGrats å{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼ å读{d12201}"); |
| | | } |
| | | } |
| | | else if (dev.deviceType == 5) |
| | | { |
| | | |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16)); |
| | | if (close == 1) |
| | | { |
| | | 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"); |
| | | } |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç宿 =================> "); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | if (continuuuuu) |
| | | { |
| | | LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} 车è¾åéç»§ç»ä»»å¡ï¼"); |
| | |
| | | taskCode = item.S_TASK_NO |
| | | }); |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"车åç»§ç»ä»»å¡OK"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep(3000); |
| | | } |
| | | public void ResetGats(Tag tag) |
| | | { |
| | | LogHelper.Info($"ThreadGrats deviceType2å
æ
åå
¥ä½éç½® =================> "); |
| | | //éç½®ä¿¡å· |
| | | foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 2)) |
| | |
| | | } |
| | | } |
| | | LogHelper.Info($"ThreadGrats deviceType2å
æ
åå
¥ä½éç½®å®æã =================> "); |
| | | LogHelper.Info($"ThreadGrats deviceType5å
æ
åå
¥ä½éç½® =================> "); |
| | | //éç½®ä¿¡å· |
| | | //foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 5)) |
| | | |
| | | { |
| | | //ä¸çº¿å°åï¼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å
æ
åå
¥ä½éç½®å®æã =================> "); |
| | | } |
| | | /// <summary> |
| | | /// 1020 1023空æ¡ä¸çº¿ |
| | |
| | | var listtep = new List<string>(); |
| | | if (Bssx == "1020") |
| | | { |
| | | if (tag.SF䏿ä½.RArrive1003 == 1) |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1003Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1011Barcode)) |
| | | { |
| | | listtep = new List<string> { "1012", "1004" }; |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | if (tag.SF䏿ä½.RArrive1005 == 1) |
| | | //if (tag.SF䏿ä½.RArrive1005 == 1) |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1005Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1013Barcode)) |
| | | { |
| | | listtep = new List<string> { "1014", "1006" }; |
| | | } |
| | |
| | | { |
| | | 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; |
| | |
| | | { |
| | | 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; |
| | |
| | | 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)); |
| | |
| | | if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0) |
| | | { |
| | | //tag.FNK1.D2215 = 0; |
| | | tag.FNK1.D2218 = 1; |
| | | //tag.FNK1.D2218 = 1; |
| | | //tag.FNK1.D2212_LAST = 1; |
| | | RedisHelper.Add($"påé£ç§1ä¸çº¿.D2217_LAST", "1", out string msg); |
| | | |
| | |
| | | LogHelper.Info($" FN1 D2212>{tag.FNK1.D2212} D2212LAST>{tag.FNK1.D2212_LAST} D2210>{tag.FNK1.D2210} D2211>{tag.FNK1.D2211} D2213>{tag.FNK1.D2213}"); |
| | | if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) |
| | | { |
| | | tag.FNK1.D2213 = 1; |
| | | //tag.FNK1.D2213 = 1; |
| | | //tag.FNK1.D2210 = 0; |
| | | //tag.FNK1.D2217_LAST = 1; |
| | | RedisHelper.Add($"påé£ç§1ä¸çº¿.D2212_LAST", "1", out string msg); |
| | |
| | | if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0) |
| | | { |
| | | //tag.FNK2.D2215 = 0; |
| | | tag.FNK2.D2218 = 1; |
| | | //tag.FNK2.D2218 = 1; |
| | | //tag.FNK2.D2212_LAST = 1; |
| | | RedisHelper.Add($"påé£ç§2ä¸çº¿.D2217_LAST", "1", out string msg); |
| | | |
| | |
| | | if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0) |
| | | { |
| | | //tag.FNK2.D2210 = 0; |
| | | tag.FNK2.D2213 = 1; |
| | | //tag.FNK2.D2213 = 1; |
| | | //tag.FNK2.D2217_LAST = 1; |
| | | RedisHelper.Add($"påé£ç§2ä¸çº¿.D2212_LAST", "1", out string msg); |
| | | |
| | |
| | | |
| | | 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 (taggg.SOver && taggg.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); |
| | | LogHelper.Info($"2008 æçå·{tag.SA2030.Ræçç } redis Arrive{2008}BarcodeLastæçå·ï¼{rdisTcode} å¹é
æ ¡éªã"); |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2008.Ræçç ) && rdisTcode != tag.ssxè¾é线.s2008.Ræçç ) |
| | | { |
| | | var ntr = tag.ssxè¾é线.s2008.Ræçç ; |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = ntr, |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data != null) |
| | | { |
| | | var end = (strr.data.lineNum == 1 ? 2027 |
| | | : strr.data.lineNum == 2 ? 2020 : 2013); |
| | | tag.ssxè¾é线.s2008.wTaskNo = (uint)(20080000 + end); |
| | | tag.ssxè¾é线.s2008.wEbit = 2027; |
| | | tag.ssxè¾é线.s2008.Ræçç = ntr; |
| | | RedisHelper.Add<string>($"Arrive{2008}BarcodeLast", ntr, out msg); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void sa2030(Tag tag) |
| | | { |
| | | var taggg = tag.SA2030; |
| | | string vqu = "A2030å货交äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (taggg.SOver && taggg.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 (taggg.SOver && taggg.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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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 (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | 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æçç }"); |
| | | |
| | | } |
| | | |
| | | public void ResolveMesTask() |
| | | public void ResolveMesTask(Tag tag) |
| | | { |
| | | TaskRepository taskservice = new TaskRepository(); |
| | | var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88); |
| | |
| | | foreach (var task in tasks) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} "); |
| | | if (task.S_TYPE?.Trim() == "100") |
| | | { |
| | | LogHelper.Info($"MESä»»å¡ S_TYPE 100->{task.S_TYPE} "); |
| | | } |
| | | var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} {(sx == null ? "é" : "æ¯")}æ»è£
æºå¨äººä»»å¡"); |
| | | if (sx == null) |
| | | { |
| | | 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>()); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡ ç»æï¼{res}"); |
| | | if (res) |
| | | gotoOOOOOOOOO: |
| | | if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX)) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ä¿®æ¹æ è¯"); |
| | | //task.N_PRIORITY = 0; |
| | | taskservice.dbcontext.Set<TaskEntity>().Attach(task); |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0; |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true; |
| | | taskservice.dbcontext.SaveChanges(); |
| | | // 嫿任å¡ã æå®ç©æä¸æå®æçï¼éè¦åºåº |
| | | 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æçç , |
| | | 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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 2030 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //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": |
| | | if (!string.IsNullOrEmpty(tag.SA1019.Ræçç )) |
| | | { |
| | | 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($"è§£é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> { "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; |
| | | } |
| | | } |
| | | 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>(), "AGV", type); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡ ç»æï¼{res}"); |
| | | if (res) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ä¿®æ¹æ è¯"); |
| | | //task.N_PRIORITY = 0; |
| | | taskservice.dbcontext.Set<TaskEntity>().Attach(task); |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0; |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true; |
| | | taskservice.dbcontext.SaveChanges(); |
| | | } |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | 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) |
| | | { |
| | | // æ¥è¯¢ä»»å¡ï¼æ ¹æ®ä»»å¡å· |
| | |
| | | // Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | //}); |
| | | } |
| | | else |
| | | switch (device.deviceType) |
| | | { |
| | | case 4: |
| | | { |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); |
| | | break; |
| | |
| | | { |
| | | if (device2.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | Task.Run(() => |
| | | { |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | }); |
| | | //Task.Run(() => |
| | | //{ |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | //}); |
| | | |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | |
| | | LogHelper.Info($"{ssloc}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | //LocationMethod.JudgeLocation(wcsTask); |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å®å1å·çº¿ã |
| | | /// 1.å¢å ä¸çº¿é»è¾ã 2. æåçä¿¡å·å°±åï¼æ²¡ä¿¡å·å«å |
| | | /// </summary> |
| | | /// <param name="tag"></param> |
| | | public void ThreadMXC3(Tag tag) |
| | | { |
| | | var VERX = Settings.deviceInfos.Find(x => x.deviceType == 5 && x.deviceName.Contains("1å·")); |
| | | if (VERX == null) |
| | | { |
| | | LogHelper.Info("å®å1å·çº¿ deviceType 5 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST} D2226>{tag.DZ1.D2226} D2226_LAST>{tag.DZ1.D2226_LAST}"); |
| | | if (tag.DZ1.D2221 == 1 && tag.DZ1.D2221_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 7, |
| | | startBit = VERX.location[0], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | RedisHelper.Add($"Då®å1å·æºæ¢°æ.D2221_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.DZ1.D2221 == 0 && tag.DZ1.D2221_LAST == 1) |
| | | { |
| | | LogHelper.Info($"éç½® Då®å1å·æºæ¢°æ.D2221_LAST > 0"); |
| | | RedisHelper.Add($"Då®å1å·æºæ¢°æ.D2221_LAST", "0", out string msg); |
| | | |
| | | string V = 0 == 0 ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue"); |
| | | } |
| | | |
| | | |
| | | if (tag.DZ1.D2226 == 1 && tag.DZ1.D2226_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 7, |
| | | startBit = VERX.location[1], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | RedisHelper.Add($"Då®å1å·æºæ¢°æ.D2226_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.DZ1.D2226 == 0 && tag.DZ1.D2226_LAST == 1) |
| | | { |
| | | LogHelper.Info($"éç½® Då®å1å·æºæ¢°æ.D2226_LAST > 0"); |
| | | RedisHelper.Add($"Då®å1å·æºæ¢°æ.D2226_LAST", "0", out string msg); |
| | | string V = 1 == 0 ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue"); |
| | | } |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// å®å2å·çº¿ã |
| | | /// </summary> |
| | | /// <param name="tag"></param> |
| | | public void ThreadMXC4(Tag tag) |
| | | { |
| | | var VERX = Settings.deviceInfos.Find(x => x.deviceType == 5 && x.deviceName.Contains("2å·")); |
| | | if (VERX == null) |
| | | { |
| | | LogHelper.Info("å®å2å·çº¿ deviceType 5 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST} D2226>{tag.DZ1.D2226} D2226_LAST>{tag.DZ1.D2226_LAST}"); |
| | | if (tag.DZ2.D2221 == 1 && tag.DZ2.D2221_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 7, |
| | | startBit = VERX.location[0], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | RedisHelper.Add($"Då®å2å·æºæ¢°æ.D2221_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.DZ2.D2221 == 0 && tag.DZ2.D2221_LAST == 1) |
| | | { |
| | | LogHelper.Info($"éç½® Då®å2å·æºæ¢°æ.D2221_LAST > 0"); |
| | | RedisHelper.Add($"Då®å2å·æºæ¢°æ.D2221_LAST", "0", out string msg); |
| | | string V = 0 == 0 ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue"); |
| | | } |
| | | |
| | | |
| | | if (tag.DZ2.D2226 == 1 && tag.DZ2.D2226_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 7, |
| | | startBit = VERX.location[1], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | RedisHelper.Add($"Då®å2å·æºæ¢°æ.D2226_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.DZ2.D2226 == 0 && tag.DZ2.D2226_LAST == 1) |
| | | { |
| | | LogHelper.Info($"éç½® Då®å2å·æºæ¢°æ.D2226_LAST > 0"); |
| | | RedisHelper.Add($"Då®å2å·æºæ¢°æ.D2226_LAST", "0", out string msg); |
| | | string V = 1 == 0 ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public class HttpServer |
| | | { |
| | | System.Net.HttpListener HttpSvcHost = null; |
| | | |
| | | private readonly string _listenerPrefix = ""; |
| | | public static string _listenerPrefix = ""; |
| | | public HttpServer(string ip) |
| | | { |
| | | _listenerPrefix = ip; |
| | | _listenerPrefix = $"http://{ip}:8808/"; |
| | | } |
| | | public void HttpServerRun() |
| | | { |
| | | HttpSvcHost = new System.Net.HttpListener(); |
| | | HttpSvcHost.AuthenticationSchemes = System.Net.AuthenticationSchemes.Anonymous; |
| | | HttpSvcHost.Prefixes.Add($"http://{_listenerPrefix}:8808/"); |
| | | HttpSvcHost.Prefixes.Add(_listenerPrefix); |
| | | HttpSvcHost.Start(); |
| | | HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | internal class WebSocketClient |
| | | { |
| | | private ClientWebSocket _webSocket = new ClientWebSocket(); |
| | |
| | | public Ddata data { get; set; } |
| | | public object extra { get; set; } |
| | | } |
| | | class Mesrespone |
| | | { |
| | | public bool success { get; set; } |
| | | public string msg { get; set; } |
| | | public object extra { get; set; } |
| | | } |
| | | |
| | | class MES2234 |
| | | { |
| | | public bool success { get; set; } |
| | | public ML data { get; set; } |
| | | } |
| | | |
| | | public class ML |
| | | { |
| | | public string materialCode { get; set; } |
| | | public int lineNum { get; set; } |
| | | } |
| | | |
| | | public class Ddata |
| | | { |