1
czw
2025-06-21 e788601bc3a2028f1e573796e038f3d6cb9961b3
1
3个文件已修改
243 ■■■■■ 已修改文件
2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs 217 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Dlls/GZ.Device.PLC.dll 补丁 | 查看 | 原始文档 | blame | 历史
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -12,6 +12,8 @@
using GZ.DB.IRepository.OIDATABASE;
using GZ.DB.Repository.OIDATABASE;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using System.Windows.Interop;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
namespace GZ.Projects.AuxAllWCS
{
@@ -677,19 +679,18 @@
                    }
                    else //1有任务  2 æ²¡ä»»åŠ¡ã€‚
                    {
                        LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾åŒä¾§å–货任务。");
                        //1 å¦‚果有同侧取货任务。就取。没有
                        var leftSide = new List<string> { "1023", "1020" };
                        var RightSide = new List<string> { "1002", "1008", "1010", "1016" };
                        bool creT2 = false;
                        if (leftSide.Contains(task1.S_START_LOC))
                        // 2号 ä¼˜å…ˆç»™ 1020  1008  1016
                        var t2 = tklist.OrderBy(x => x.T_CREATE).ToList().Find(x => x.S_START_LOC == "1020" || x.S_START_LOC == "1008" || x.S_START_LOC == "1016");
                        if (tklist != null)
                        {
                            leftSide.Remove(task1.S_START_LOC);
                            var lsde = leftSide.FirstOrDefault();
                            var t2 = tklist.Find(x => x.S_START_LOC == lsde && x.S_END_LOC != "1017");
                            if (t2 != null) //同侧取货任务。
                            {
                                LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾åŒä¾§å–货任务{t2.S_TASK_NO}。");
                            LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾1020  1008  1016取货任务{t2.S_TASK_NO}。");
                                tag.RGV.workMod = 2;
                                tag.RGV.taskmod = 1;
                                tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
@@ -703,30 +704,52 @@
                                LogHelper.Info($"{t2.S_TASK_NO}> end å†™ 125");
                                Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                            }
                        }
                        else if (RightSide.Contains(task1.S_START_LOC))
                        {
                            RightSide.Remove(task1.S_START_LOC);
                            var t2 = tklist.Find(x => RightSide.Contains(x.S_START_LOC) && x.S_END_LOC != "1017");
                            if (t2 != null) //同侧取货任务。
                            {
                                LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾åŒä¾§å–货任务{t2.S_TASK_NO}。");
                                tag.RGV.workMod = 2;
                                tag.RGV.taskmod = 1;
                                tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
                                tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC);
                                t2.S_B_STATE = "已推送";
                                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);
                                LogHelper.Info($"{t2.S_TASK_NO}> end å†™ 125");
                                Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                            }
                        }
                        //else //1 ç›´æŽ¥å¸è´§ã€‚
                        if (!creT2)
                        ////2 å¦‚果有同侧取货任务。就取。没有
                        //else if (leftSide.Contains(task1.S_START_LOC))
                        //{
                        //    leftSide.Remove(task1.S_START_LOC);
                        //    var lsde = leftSide.FirstOrDefault();
                        //    t2 = tklist.Find(x => x.S_START_LOC == lsde && x.S_END_LOC != "1017");
                        //    if (t2 != null) //同侧取货任务。
                        //    {
                        //        LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾åŒä¾§å–货任务{t2.S_TASK_NO}。");
                        //        tag.RGV.workMod = 2;
                        //        tag.RGV.taskmod = 1;
                        //        tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
                        //        tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC);
                        //        t2.S_B_STATE = "已推送";
                        //        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);
                        //        LogHelper.Info($"{t2.S_TASK_NO}> end å†™ 125");
                        //        Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                        //    }
                        //}
                        //else if (RightSide.Contains(task1.S_START_LOC))
                        //{
                        //    RightSide.Remove(task1.S_START_LOC);
                        //    t2 = tklist.Find(x => RightSide.Contains(x.S_START_LOC) && x.S_END_LOC != "1017");
                        //    if (t2 != null) //同侧取货任务。
                        //    {
                        //        LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ‰¾åŒä¾§ 1002,1010 å–货任务{t2.S_TASK_NO}。");
                        //        tag.RGV.workMod = 2;
                        //        tag.RGV.taskmod = 1;
                        //        tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
                        //        tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC);
                        //        t2.S_B_STATE = "已推送";
                        //        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);
                        //        LogHelper.Info($"{t2.S_TASK_NO}> end å†™ 125");
                        //        Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                        //    }
                        //}
                        else //1 ç›´æŽ¥å¸è´§ã€‚
                        //if (!creT2)
                        {
                            LogHelper.Info($"查看RGV1 æœ‰ä»»åŠ¡{task1.S_TASK_NO},工位2 æ²¡ä»»åŠ¡ã€‚ æ²¡æœ‰åŒä¾§å–货任务 1工位卸货。");
                            tag.RGV.workMod = 1;
@@ -758,19 +781,19 @@
                        LogHelper.Info($"{task2.S_TASK_NO}> taskend å†™125");
                        Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                    }
                    else //1mei ä»»åŠ¡  2 æ²¡ä»»åŠ¡ã€‚
                    else if (tklist.Any()) //1mei ä»»åŠ¡  2 æ²¡ä»»åŠ¡ã€‚
                    {
                        LogHelper.Info($"查看RGV 1工位没任务,工位2 ä¹Ÿæ²¡ä»»åŠ¡ã€‚ä¼˜å…ˆ1工位终点1017任务。。");
                        //、下 1017任务 ç»™1号工位。
                        var lss = tklist.Take(2).ToList();
                        var e1017first = lss.Find(x => x.S_END_LOC == "1017");
                        if (e1017first == null)
                        {
                            e1017first = lss.FirstOrDefault();
                        }
                        //var lss = tklist.Take(2).ToList();
                        var e1017first = tklist.Find(x => x.S_START_LOC == "1002" || x.S_START_LOC == "1010" || x.S_START_LOC == "1023");
                        //if (e1017first != null)
                        //{
                        //    e1017first = tklist.FirstOrDefault();
                        //}
                        if (e1017first != null)
                        {
                            LogHelper.Info($"查看RGV 1工位没任务,工位2 ä¹Ÿæ²¡ä»»åŠ¡ã€‚1工位下任务{e1017first.S_TASK_NO}> ç»ˆç‚¹{e1017first.S_END_LOC}。");
                            LogHelper.Info($"查看RGV1 ä»»åŠ¡å·¥ä½2 æ²¡ä»»åŠ¡ã€‚ 1002  1010  1023取货任务{e1017first.S_TASK_NO}。");
                            tag.RGV.workMod = 1;
                            tag.RGV.taskmod = 1;
                            uint tno = Convert.ToUInt32(e1017first.S_TASK_NO.Substring(4));
@@ -788,6 +811,25 @@
                            //tag.RGV.taskend=125
                            Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                        }
                        else
                        {
                            var t2 = tklist.OrderBy(x => x.T_CREATE).ToList().Find(x => x.S_START_LOC == "1020" || x.S_START_LOC == "1008" || x.S_START_LOC == "1016");
                            if (tklist != null)
                            {
                                LogHelper.Info($"查看RGV1 æ²¡ä»»åŠ¡å·¥ä½2 æ²¡ä»»åŠ¡ã€‚ æ‰¾1020  1008  1016取货任务{t2.S_TASK_NO}。");
                                tag.RGV.workMod = 2;
                                tag.RGV.taskmod = 1;
                                tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
                                tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC);
                                t2.S_B_STATE = "已推送";
                                taskservice.Update(t2);
                                System.Threading.Thread.Sleep(750);
                                LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST å†™ 0");
                                RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg);
                                LogHelper.Info($"{t2.S_TASK_NO}> end å†™ 125");
                                Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                            }
                        }
                    }
                }
@@ -920,7 +962,6 @@
            }
        }
        /// <summary>
        /// 1020  1023空框下线
        /// </summary>
@@ -928,6 +969,7 @@
        public void ThreadEdown(Tag tag)
        {
            Console.WriteLine($"ThreadEdown 20 23 = ç©ºä¸‹æ£€æµ‹ =================> ");
            TaskRepository taskRepository = new TaskRepository();
            foreach (var Bssx in new string[] { "1020", "1023" })
            {
                var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16));
@@ -936,6 +978,14 @@
                Console.WriteLine($"{Bssx} ç©ºä¸‹æ£€æµ‹ï¼šä»»åŠ¡ç”³è¯·ï¼š{RtaskState}- æ˜¯å¦å·²å¤„理:{RtaskState_LAST}- æ‰˜ç›˜ç ï¼š{R托盘码}");
                if (RtaskState == 3 && RtaskState_LAST == 0)
                {
                    var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                    string msg = "";
                    if (task != null)
                    {
                        Console.WriteLine($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        LogHelper.Info($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        continue;
                    }
                    try
                    {
                        var listtep = new List<string>();
@@ -966,22 +1016,31 @@
                        {
                            var R5 = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲"), typeof(System.UInt16));
                            var R5空闲_LAST = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲_LAST"), typeof(System.UInt16));
                            if (R5 == 5 && R5空闲_LAST == 0)
                            if (R5 == 5 && R5空闲_LAST == 0 && task == null)
                            {
                                task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                                msg = "";
                                if (task != null)
                                {
                                    Console.WriteLine($" {item}有正在 [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                                    LogHelper.Info($" {item}有正在 [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                                    continue;
                                }
                                var b = TaskProcess.CreateTask("", Bssx, item, "空上RGV", 5, new List<string> { R托盘码 }, "RGV");
                                if (b)
                                {
                                    LogHelper.Debug($"输送线RGV空托任务 from:{Bssx}>to {item}开始创建成功");
                                    RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg);
                                    RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg);
                                    //Conn.默认Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue");
                                    RedisHelper.Add($"S{item}Read.R5空闲_LAST", "1", out string msg1);
                                    RedisHelper.Add($"S{item}Read.R5空闲_LAST", "1", out msg);
                                    //Conn.默认Redis.SetValue($"S{item}Read.R5空闲_LAST", "1", $"S{item}ReadQueue");
                                    break;
                                }
                            }
                            else if (R5 != 5 && R5空闲_LAST == 1)
                            {
                                RedisHelper.Add($"S{item}Read.R5空闲_LAST", "0", out string msg);
                                RedisHelper.Add($"S{item}Read.R5空闲_LAST", "0", out msg);
                                //Conn.默认Redis.SetValue($"S{item}Read.R5空闲_LAST", "0", $"S{item}ReadQueue");
                            }
                        }
@@ -1016,6 +1075,7 @@
        public void ThreadDdown(Tag tag)
        {
            Console.WriteLine($"ThreadDdown 08 10 ==================> 1026");
            TaskRepository taskRepository = new TaskRepository();
            foreach (var Bssx in new string[] { "1008", "1016" })
            {
                var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16));
@@ -1024,15 +1084,32 @@
                Console.WriteLine($"{Bssx} æ»¡ä¸‹æ£€æµ‹ï¼šä»»åŠ¡ç”³è¯·ï¼š{RtaskState}- æ˜¯å¦å·²å¤„理:{RtaskState_LAST}- æ‰˜ç›˜ç ï¼š{R托盘码}");
                if (RtaskState == 3 && RtaskState_LAST == 0)
                {
                    var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                    string msg = "";
                    if (task != null)
                    {
                        Console.WriteLine($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        LogHelper.Info($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        continue;
                    }
                    var item = "1026";
                    var R5 = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲"), typeof(System.UInt16));
                    var R5空闲_LAST = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲_LAST"), typeof(System.UInt16));
                    if (R5 == 5 && R5空闲_LAST == 0)
                    {
                        task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                        msg = "";
                        if (task != null)
                        {
                            Console.WriteLine($"{item} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                            LogHelper.Info($"{item} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                            continue;
                        }
                        var b = TaskProcess.CreateTask("", Bssx, item, "满转1026", 5, new List<string> { R托盘码 }, "RGV");
                        if (b)
                        {
                            RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg);
                            RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg);
                            RedisHelper.Add($"S{item}Read.R5空闲_LAST", "1", out string msg2);
                            //Conn.默认Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue");
                            //Conn.默认Redis.SetValue($"S{item}Read.R5空闲_LAST", "1", $"S{item}ReadQueue");
@@ -1056,6 +1133,7 @@
        public void Thread0210Down(Tag tag)
        {
            Console.WriteLine($"Thread0210Down ==================>");
            TaskRepository taskRepository = new TaskRepository();
            foreach (var Bssx in new string[] { "1002", "1010" })
            {
                var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16));
@@ -1064,15 +1142,31 @@
                Console.WriteLine($"{Bssx} æ»¡ä¸‹æ£€æµ‹ï¼šä»»åŠ¡ç”³è¯·ï¼š{RtaskState}- æ˜¯å¦å·²å¤„理:{RtaskState_LAST}- æ‰˜ç›˜ç ï¼š{R托盘码}");
                if (RtaskState == 3 && RtaskState_LAST == 0)
                {
                    var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                    string msg = "";
                    if (task != null)
                    {
                        Console.WriteLine($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        LogHelper.Info($"{Bssx} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                        continue;
                    }
                    var item = "1017";
                    var R5 = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲"), typeof(System.UInt16));
                    var R5空闲_LAST = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"S{item}Read.R5空闲_LAST"), typeof(System.UInt16));
                    if (R5 == 5 && R5空闲_LAST == 0)
                    {
                        task = taskRepository.FindEntity(x => x.S_END_LOC == Bssx && x.S_B_STATE != "完成" && x.S_B_STATE != "取消");
                        msg = "";
                        if (task != null)
                        {
                            Console.WriteLine($"{item} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                            LogHelper.Info($"{item} æœ‰æ­£åœ¨ [{task.S_B_STATE}] ä¸­çš„{task.S_TASK_NO}任务");
                            continue;
                        }
                        var b = TaskProcess.CreateTask("", Bssx, item, "满转1017", 5, new List<string> { R托盘码 }, "RGV");
                        if (b)
                        {
                            RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg);
                            RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg);
                            RedisHelper.Add($"S{item}Read.R5空闲_LAST", "1", out string msg1);
                            //Conn.默认Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue");
                            //Conn.默认Redis.SetValue($"S{item}Read.R5空闲_LAST", "1", $"S{item}ReadQueue");
@@ -1102,41 +1196,42 @@
                var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16));
                if (RArrive == 1 && RArriveLast == 0)
                {
                    if (ssx == "1005")
                    if (ssx == "1005" && tag.SF下料位.WRelease1005 == 0)
                    {
                        tag.FNK1.D2215 = 1;
                        //tag.SF下料位.RArrive1005_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "1", out string msg);
                        tag.SF下料位.WRelease1005 = 0;
                        tag.SF下料位.WSafe0305 = 0;
                        //tag.SF下料位.WRelease1005 = 0;
                        //tag.SF下料位.WSafe0305 = 0;
                    }
                    else if (ssx == "1003")
                    else if (ssx == "1003" && tag.SF下料位.WRelease1003 == 0)
                    {
                        tag.FNK1.D2210 = 1;
                        //tag.SF下料位.RArrive1003_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "1", out string msg);
                        tag.SF下料位.WRelease1003 = 0;
                        tag.SF下料位.WSafe0305 = 0;
                        //tag.SF下料位.WRelease1003 = 0;
                        //tag.SF下料位.WSafe0305 = 0;
                    }
                    else if (ssx == "1013")
                    else if (ssx == "1013" && tag.SF下料位.WRelease1013 == 0)
                    {
                        tag.FNK2.D2215 = 1;
                        //tag.SF下料位.RArrive1013_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "1", out string msg);
                        tag.SF下料位.WRelease1013 = 0;
                        tag.SF下料位.WSafe1113 = 0;
                        //tag.SF下料位.WRelease1013 = 0;
                        //tag.SF下料位.WSafe1113 = 0;
                    }
                    else if (ssx == "1011")
                    else if (ssx == "1011" && tag.SF下料位.WRelease1011 == 0)
                    {
                        tag.FNK2.D2210 = 1;
                        //tag.SF下料位.RArrive1011_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "1", out string msg);
                        tag.SF下料位.WRelease1011 = 0;
                        tag.SF下料位.WSafe1113 = 0;
                        //tag.SF下料位.WRelease1011 = 0;
                        //tag.SF下料位.WSafe1113 = 0;
                    }
                }
                else if (RArrive == 0 && RArriveLast == 1)
@@ -1152,7 +1247,7 @@
            Console.WriteLine($"ThreadFNK1Over    =====>");
            if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0)
            {
                //tag.FNK1.D2215 = 0;
                tag.FNK1.D2215 = 0;
                //tag.FNK1.D2212_LAST = 1;
                RedisHelper.Add($"p发那科1下线.D2217_LAST", "1", out string msg);
@@ -1169,6 +1264,7 @@
            if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0)
            {
                tag.FNK1.D2210 = 0;
                //tag.FNK1.D2217_LAST = 1;
                RedisHelper.Add($"p发那科1下线.D2212_LAST", "1", out string msg);
                tag.SF下料位.WRelease1003 = 1;
@@ -1226,6 +1322,7 @@
            }
            if (tag.FNK2.D2211 == 1)
                tag.FNK2.D2210 = 0;
        }
        public void Thread1019Down(Tag tag)
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/½çÃæÊ¼þ.cs
@@ -344,7 +344,6 @@
                    {
                        #region    [脚本][20250325083315503][业务逻辑.第三标段.维系尔2号.维希尔抓臂2L]
                        AutoThread.InvokeMethod(AutoThread.Instance, "Threadwxr2L", new object[] { tag });
                        #endregion [脚本][20250325083315503][业务逻辑.第三标段.维系尔2号.维希尔抓臂2L]
                    }
                    catch (Exception ex)
@@ -388,31 +387,6 @@
                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>
            /// ç¨‹åºç‰‡æ®µ:任务下发
            /// æè¿°:
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Dlls/GZ.Device.PLC.dll
Binary files differ