1
czw
5 天以前 58a5ed6791a00cb98337525be289dd2d7f33269e
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -30,9 +30,33 @@
using System.Net.NetworkInformation;
using System.Windows.Documents;
using System.Text.RegularExpressions;
using GZ.Device.PLC;
namespace GZ.Projects.AuxAllWCS
{
    public static class ExtendClass
    {
        public static void Disnull(this TaskRepository repository)
        {
            repository.dbcontext.Dispose();
            repository = null;
        }
        public static void Disnull(this LocRepository repository)
        {
            repository.dbcontext.Dispose();
            repository = null;
        }
        public static void Disnull(this TaskActRepository repository)
        {
            repository.dbcontext.Dispose();
            repository = null;
        }
        public static void Disnull(this SYSRepository repository)
        {
            repository.dbcontext.Dispose();
            repository = null;
        }
    }
    public partial class AutoThread
    {
@@ -90,7 +114,7 @@
            }
            catch (Exception ex)
            {
                LogHelper.Error($"InvokeMethod > cacheKey-{ex.Message}", ex);
                LogHelper.Error($"InvokeMethod > cacheKey:{cacheKey}-{ex.Message}", ex);
                throw ex;
            }
        }
@@ -126,6 +150,7 @@
        //        return _repository;
        //    }
        //}
        /// <summary>
        /// é…ç½®åˆå§‹åŒ–。
        /// </summary>
@@ -152,9 +177,11 @@
        }
        public void ThreaTotal(Tag tag, Device device)
        {
            List<Task> tasks = new List<Task>();
            LogHelper.Info("ThreaTotal çº¿ç¨‹æ€»çº¿å¯åЍ");
            tasks.Add(GetTask(delegate (Tag tag1, Device device1)
            {
                try
@@ -216,9 +243,26 @@
            tasks.Add(GetTask(ThreadMXC5, tag, 3000));
            tasks.Add(GetTask(ThreadMXC6, tag, 3000));
            tasks.Add(GetTask(ThreadS7helper, tag, 3000));
            LogHelper.Info("ThreaTotal çº¿ç¨‹æ€»çº¿runing");
            Task.WaitAll(tasks.ToArray());
            LogHelper.Info("ThreaTotal çº¿ç¨‹æ€»çº¿over");
        }
        private void ThreadS7helper(Tag tag)
        {
            //var plc = new Plc(CpuType.S71500,);
            //foreach (var item in collection)
            //{
            //    S7.Net.Plc plc = new Plc(CpuType.S71500, item.address, 0, 1);
            //    Link(plc);
            //    PLCS.Add(item.deviceName, plc);
            //}
        }
        void taskssss1(Tag tag)
        {
            sa1025(tag);
@@ -238,7 +282,7 @@
            sa3010(tag);
        }
        public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>();
        //public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>();
        public bool IsMachineOnline(string hostNameOrIp, int timeout = 1000)
        {
            //device.p发那科1下线.Config.IP
@@ -1213,6 +1257,8 @@
                        }
                    }
                }
                task1 = null;
                task2 = null;
                LogHelper.Info($"rgv å¤„理完成。taskend 125");
                #endregion
            }
@@ -1236,7 +1282,6 @@
            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())
@@ -1681,6 +1726,8 @@
                    }
                }
                requires1 = null;
                timeMorhours = null;
            }
            catch (Exception ex)
            {
@@ -2422,10 +2469,10 @@
        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托盘码;
            LogHelper.Info($"2008 æ‰˜ç›˜å·{ntr}  redis Arrive{2008}BarcodeLast托盘号:{rdisTcode} åŒ¹é…æ ¡éªŒã€‚");
            if (!string.IsNullOrEmpty(ntr) && rdisTcode != ntr)
            {
                var ntr = tag.ssx输送线.s2008.R托盘码;
                var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                {
                    cntrCode = ntr,
@@ -2613,6 +2660,8 @@
                LogHelper.Info($"循环{i}次>> æ¸…空控制台。");
                i = 0;
            }
            LogHelper.Info($"_methodCache>>>>"+ _methodCache.Count+">>>>"+JsonConvert.SerializeObject(_methodCache.Keys));
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š   =====>");
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š{tag.SA2030.RtaskState}- ç©ºé—²{tag.SA2030.R5空闲} - barcode:{tag.SA2030.R托盘码}");
@@ -3490,7 +3539,7 @@
                    Console.WriteLine($"ip= {ip.ToString()}");
                    new HttpServer(ip.ToString()).HttpServerRun();
                    new TcpServer(ip.ToString());
                    var server = new EnhancedWebSocketServer($"http://{ip.ToString()}:8809/").StartAsync();
                    //var server = new EnhancedWebSocketServer($"http://{ip.ToString()}:8809/").StartAsync();
                    //var client = new WebSocketClient($"http://{ip.ToString()}:8809/").ConnectAsync();
                    break;
                }