| | |
| | | device1.Jsæ·é¡º2.Config.IP, |
| | | device1.ç»´å¸å°æè1.Config.IP, |
| | | device1.ç»´å¸å°æè2.Config.IP, |
| | | device1.RGV.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) |
| | | IsMachineOnline(matches.Value); |
| | | { |
| | | var b = IsMachineOnline(matches.Value); |
| | | if (!Iponlines.ContainsKey(ip)) |
| | | { |
| | | Iponlines.TryAdd(ip, b); |
| | | } |
| | | else |
| | | Iponlines[ip] = b; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | 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 |
| | |
| | | { |
| | | 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; |
| | |
| | | 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); |
| | | |
| | |
| | | var taggg = tag.SA1019; |
| | | string vqu = "A1019å货交äº"; |
| | | Console.WriteLine($"1019ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadSsxOver) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | private void sa2008(Tag tag) |
| | | { |
| | | var rdisTcode = RedisHelper.Get<string>($"Arrive{2008}BarcodeLast", out string msg); |
| | | //if(tag.ssxè¾é线.s2008) |
| | | 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 (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadSsxOver) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.SA2001; |
| | | string vqu = "A2001æ¾è´§äº¤äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadSsxOver) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.SA1030; |
| | | string vqu = "A1030å货交äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.SA1025; |
| | | string vqu = "A1025æ¾è´§äº¤äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.SA1022; |
| | | string vqu = "A1022æ¾è´§äº¤äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.ssxè¾é线.s3010; |
| | | string vqu = "A3010å货交äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.ssxè¾é线.s3006; |
| | | string vqu = "A3006æ¾è´§äº¤äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.ssxè¾é线.s3005; |
| | | string vqu = "A3005å货交äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | var taggg = tag.ssxè¾é线.s3010; |
| | | string vqu = "A3001æ¾è´§äº¤äº"; |
| | | Console.WriteLine($"{vqu}ä»»å¡ç¶æï¼ =====>ä»»å¡ç³è¯·ï¼{taggg.Ssetreq},è¾é线å
许ï¼{taggg.SreadCan} ä»»å¡å®æï¼{taggg.SOver} è¾é线æ¶å°å®æï¼{taggg.SreadAgvover}"); |
| | | if (tag.SA1019.SOver && tag.SA1019.SreadSsxOver) |
| | | if (taggg.SOver && taggg.SreadAgvover) |
| | | { |
| | | SetRedistoPlc(vqu + ".Ssetreq", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | | SetRedistoPlc(vqu + ".SOver", "false", vqu + "Queue", "åAGVç³è¯·"); |
| | |
| | | |
| | | 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>(), type); |
| | | 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) |