11
czw
2025-06-27 140768c21ee2191ba5b390ef4173c15044f11433
11
1个文件已添加
6个文件已修改
272 ■■■■ 已修改文件
2025年6月12日/AuxAllWCS/AuxAllWCS.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs 143 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/ViewModel.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/自定义类.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Dlls/GZ.Device.PLC.dll 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/GZ.Device.PLC.dll 补丁 | 查看 | 原始文档 | blame | 历史
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/AuxAllWCS.json
@@ -9,5 +9,5 @@
  "DevelopVersion": "1.0.2.0",
  "Encode": "Ij/zvOgkqNT5SmHrFKCAVQ==",
  "CreationTime": "0001-01-01 00:00:00",
  "LastWriteTime": "2025-06-25 10:43:43"
  "LastWriteTime": "2025-06-25 13:02:29"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -16,6 +16,7 @@
using System.Windows.Interop;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
using System.Security.Cryptography;
using System.Windows.Markup;
namespace GZ.Projects.AuxAllWCS
{
@@ -132,16 +133,17 @@
                        endBit = VERX.location[0]
                    }));
                    LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                    if (str.Contains("true"))
                    var strr = JsonConvert.DeserializeObject<Messss>(str);
                    if (strr != null && strr.success && strr.data?.state == 0)
                    {
                        //tag.Js1.D1212_LAST = 1;
                        RedisHelper.Add($"Js捷顺1.D1212_LAST", "1", out string msg);
                        RedisHelper.Add($"Js捷顺1.D1202_LAST", "1", out string msg);
                    }
                }
                if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0)
                {
                    //tag.Js1.D1212_LAST = 0; 
                    RedisHelper.Add($"Js捷顺1.D1212_LAST", "0", out string msg);
                    RedisHelper.Add($"Js捷顺1.D1202_LAST", "0", out string msg);
                }
                if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1)
                {
@@ -151,16 +153,17 @@
                        endBit = VERX.location[1]
                    }));
                    LogHelper.Info($"{VERX.location[1]}申请mes任务结果{str}");
                    if (str.Contains("true"))
                    var strr = JsonConvert.DeserializeObject<Messss>(str);
                    if (strr != null && strr.success && strr.data?.state == 0)
                    {
                        //tag.Js1.D1213_LAST = 1;
                        RedisHelper.Add($"Js捷顺1.D1213_LAST", "1", out string msg);
                        RedisHelper.Add($"Js捷顺1.D1203_LAST", "1", out string msg);
                    }
                }
                if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0)
                {
                    //tag.Js1.D1213_LAST = 0;
                    RedisHelper.Add($"Js捷顺1.D1213_LAST", "0", out string msg);
                    RedisHelper.Add($"Js捷顺1.D1203_LAST", "0", out string msg);
                }
            }
        }
@@ -183,18 +186,17 @@
                        endBit = VERX.location[0]
                    }));
                    LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                    if (str.Contains("true"))
                    var strr = JsonConvert.DeserializeObject<Messss>(str);
                    if (strr != null && strr.success && strr.data?.state == 0)
                    {
                        //tag.Js2.D1212_LAST = 1;
                        RedisHelper.Add($"Js捷顺1.D1212_LAST", "1", out string msg);
                        RedisHelper.Add($"Js捷顺2.D1202_LAST", "1", out string msg);
                    }
                }
                if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0)
                {
                    //tag.Js2.D1212_LAST = 0;
                    RedisHelper.Add($"Js捷顺1.D1212_LAST", "0", out string msg);
                    RedisHelper.Add($"Js捷顺2.D1202_LAST", "0", out string msg);
                }
                if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1)
                {
@@ -204,18 +206,18 @@
                        endBit = VERX.location[1]
                    }));
                    LogHelper.Info($"{VERX.location[1]}申请mes任务结果{str}");
                    if (str.Contains("true"))
                    {
                        //tag.Js2.D1213_LAST = 1;
                        RedisHelper.Add($"Js捷顺1.D1213_LAST", "1", out string msg);
                    var strr = JsonConvert.DeserializeObject<Messss>(str);
                    if (strr != null && strr.success && strr.data?.state == 0)
                    {
                        RedisHelper.Add($"Js捷顺2.D1203_LAST", "1", out string msg);
                    }
                }
                if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0)
                {
                    //tag.Js2.D1213_LAST = 0;
                    RedisHelper.Add($"Js捷顺1.D1213_LAST", "0", out string msg);
                    RedisHelper.Add($"Js捷顺2.D1203_LAST", "0", out string msg);
                }
            }
        }
@@ -242,7 +244,8 @@
                            endBit = ""
                        }));
                        LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                        if (str.Contains("true"))
                        var strr = JsonConvert.DeserializeObject<Messss>(str);
                        if (strr != null && strr.success && strr.data?.state == 0)
                        {
                            //tag.wxr1.R44_LAST = true;
                            RedisHelper.Add($"维希尔抓臂1.R44_LAST", "true", out string msg);
@@ -314,7 +317,8 @@
                            endBit = ""
                        }));
                        LogHelper.Info($"{VERX.location[1]}申请mes任务结果{str}");
                        if (str.Contains("true"))
                        var strr = JsonConvert.DeserializeObject<Messss>(str);
                        if (strr != null && strr.success && strr.data?.state == 0)
                        {
                            //tag.wxr1.R46_LAST = true;
                            RedisHelper.Add($"维希尔抓臂1.R46_LAST", "true", out string msg);
@@ -385,7 +389,8 @@
                            endBit = ""
                        }));
                        LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                        if (str.Contains("true"))
                        var strr = JsonConvert.DeserializeObject<Messss>(str);
                        if (strr != null && strr.success && strr.data?.state == 0)
                        {
                            //tag.wxr2.R44_LAST = true;
                            RedisHelper.Add($"维希尔抓臂2.R44_LAST", "true", out string msg);
@@ -457,7 +462,8 @@
                            endBit = ""
                        }));
                        LogHelper.Info($"{VERX.location[1]}申请mes任务结果{str}");
                        if (str.Contains("true"))
                        var strr = JsonConvert.DeserializeObject<Messss>(str);
                        if (strr != null && strr.success && strr.data?.state == 0)
                        {
                            //tag.wxr2.R46_LAST = true;
                            RedisHelper.Add($"维希尔抓臂2.R46_LAST", "true", out string msg);
@@ -514,7 +520,7 @@
            ITaskRepository taskservice = new TaskRepository();
            try
            {
                LogHelper.Info("任务下发  ARG ä»»åŠ¡ è¿›å…¥");
                LogHelper.Info("任务下发  AGV ä»»åŠ¡ è¿›å…¥");
                #region AGV任务下发。
                var tklist = taskservice.FindList(x => x.S_B_STATE == "未执行" && x.S_WORK_MODE == "AGV");
@@ -658,7 +664,7 @@
                    string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                    task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
                    LogHelper.Info($"RGV2工位任务{JsonConvert.SerializeObject(task2)}.bit2taskOver_LAST:{tag.RGV.bit2taskOver_LAST}");
                    LogHelper.Info($"RGV2工位任务{task2?.S_TASK_NO}.bit2taskOver_LAST:{tag.RGV.bit2taskOver_LAST}");
                    if (tag.RGV.bit2taskOver_LAST == 0 && task2 != null)
                    {
                        if (task2.S_B_STATE != "完成")
@@ -742,14 +748,13 @@
                            LogHelper.Info($"{task1.S_TASK_NO}> 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);
                            t2.S_B_STATE = "已推送";
                            taskservice.Update(t2);
                        }
                        ////2 å¦‚果有同侧取货任务。就取。没有
                        //else if (leftSide.Contains(task1.S_START_LOC))
@@ -855,14 +860,13 @@
                            LogHelper.Info($"{e1017first.S_TASK_NO}>开始写入 task1do>>{e1017first.S_START_LOC}。");
                            tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC);
                            LogHelper.Info($"{e1017first.S_TASK_NO}> æ›´æ–°ä»»åŠ¡ã€‚");
                            e1017first.S_B_STATE = "已推送";
                            taskservice.Update(e1017first);
                            System.Threading.Thread.Sleep(750);
                            LogHelper.Info($"{e1017first.S_TASK_NO}> bit1taskOver_LAST å†™0");
                            RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg);
                            LogHelper.Info($"{e1017first.S_TASK_NO}> taskend å†™125");
                            //tag.RGV.taskend=125
                            Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                            e1017first.S_B_STATE = "已推送";
                            taskservice.Update(e1017first);
                        }
                        else
                        {
@@ -877,13 +881,12 @@
                                tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4));
                                LogHelper.Info($"{t2.S_TASK_NO}> 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);
                                t2.S_B_STATE = "已推送";
                                taskservice.Update(t2);
                            }
                        }
                    }
@@ -953,6 +956,8 @@
                        {
                            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");
                        }
                        LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å¼€å¯å…‰æ …处理完成 =================> ");
@@ -994,8 +999,12 @@
                            }
                            else
                            {
                                LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), dev.deviceName + "Queue"));
                                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}");
                            }
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…³é—­å…‰æ …处理完成 =================> ");
                        }
@@ -1021,15 +1030,26 @@
            {
                var tf = Conn.默认Redis.GetValue(dev.deviceName + ".D1202");
                int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
                //int int0 = TcpServer.GetBitdata(numm, 0);
                //int int1 = TcpServer.GetBitdata(numm, 1);
                if (TcpServer.GetBitdata(numm, 0) == 0)
                {
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue", false);
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue", false);
                }
                else if (TcpServer.GetBitdata(numm, 1) == 0)
                if (TcpServer.GetBitdata(numm, 1) == 0)
                {
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1221", "0", dev.deviceName + "Queue", false);
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1223", "0", dev.deviceName + "Queue", false);
                }
                if (TcpServer.GetBitdata(numm, 2) == 0)
                {
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1224", "0", dev.deviceName + "Queue", false);
                }
                if (TcpServer.GetBitdata(numm, 3) == 0)
                {
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1225", "0", dev.deviceName + "Queue", false);
                }
            }
            LogHelper.Info($"ThreadGrats deviceType2光栅写入位重置完成。 =================> ");
@@ -1266,10 +1286,12 @@
            {
                var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16));
                var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16));
                LogHelper.Info($" FNK1003051113.RArrive{ssx}>{RArrive} && FNK1003051113.RArrive{ssx}_LAST >{RArriveLast}");
                if (RArrive == 1 && RArriveLast == 0)
                {
                    if (ssx == "1005" && tag.SF下料位.WRelease1005 == 0)
                    {
                        LogHelper.Info($"ssx == 1005 && tag.SF下料位.WRelease1005:{tag.SF下料位.WRelease1005}  å†™f1 2215=1,RArrive1005_LAST=1");
                        tag.FNK1.D2215 = 1;
                        //tag.SF下料位.RArrive1005_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "1", out string msg);
@@ -1279,6 +1301,7 @@
                    }
                    else if (ssx == "1003" && tag.SF下料位.WRelease1003 == 0)
                    {
                        LogHelper.Info($"ssx == 1003 && tag.SF下料位.WRelease1003:{tag.SF下料位.WRelease1003}  å†™f1 2210=1,RArrive1003_LAST=1");
                        tag.FNK1.D2210 = 1;
                        //tag.SF下料位.RArrive1003_LAST = 1;
@@ -1289,6 +1312,7 @@
                    }
                    else if (ssx == "1013" && tag.SF下料位.WRelease1013 == 0)
                    {
                        LogHelper.Info($"ssx == 1013 && tag.SF下料位.WRelease1013:{tag.SF下料位.WRelease1013}  å†™f2 2215=1,RArrive1013_LAST=1");
                        tag.FNK2.D2215 = 1;
                        //tag.SF下料位.RArrive1013_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "1", out string msg);
@@ -1298,6 +1322,7 @@
                    }
                    else if (ssx == "1011" && tag.SF下料位.WRelease1011 == 0)
                    {
                        LogHelper.Info($"ssx == 1011 && tag.SF下料位.WRelease1011:{tag.SF下料位.WRelease1011}  å†™f2 2210=1,RArrive1011_LAST=1");
                        tag.FNK2.D2210 = 1;
                        //tag.SF下料位.RArrive1011_LAST = 1;
                        RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "1", out string msg);
@@ -1308,6 +1333,7 @@
                }
                else if (RArrive == 0 && RArriveLast == 1)
                {
                    LogHelper.Info($"重置 FNK1003051113.RArrive{ssx}_LAST=0");
                    RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg);
                    //Conn.默认Redis.SetValue($"FNK1003051113.RArrive{ssx}_LAST", "0", $"FNK1003051113Queue");
                }
@@ -1317,6 +1343,8 @@
        public void ThreadFNK1Over(Tag tag)
        {
            Console.WriteLine($"ThreadFNK1Over    =====>");
            //LogHelper.Info($" FN1 D2217>{tag.FNK1.D2217} D2217LAST>{tag.FNK1.D2217_LAST} D2215>{tag.FNK1.D2215} release1005>{tag.SF下料位.WRelease1005}");
            //LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 å†™ 2215=0,D2217_LAST=1,WRelease1005=1 RArrive1005_LAST=0");
            if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0)
            {
                tag.FNK1.D2215 = 0;
@@ -1327,12 +1355,20 @@
                tag.SF下料位.WSafe0305 = 1;
                System.Threading.Thread.Sleep(1000);
                RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "0", out msg);
                LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 å†™ 2215=0,D2217_LAST=1,WRelease1005=1 RArrive1005_LAST=0");
            }
            if (tag.FNK1.D2216 == 1)
                tag.FNK1.D2215 = 0;
            else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1)
            {
                //tag.FNK1.D2217_LAST = 0;
                RedisHelper.Add($"p发那科1下线.D2217_LAST", "0", out string msg);
                LogHelper.Info($" p发那科1下线.D2217_LAST=0");
            }
            if (tag.FNK1.D2216 == 1)
            {
                tag.FNK1.D2215 = 0;
                LogHelper.Info($" p发那科1下线 è¯»D2216=1  å†™D2215 =0");
            }
            if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0)
            {
@@ -1343,6 +1379,7 @@
                tag.SF下料位.WSafe0305 = 1;
                System.Threading.Thread.Sleep(1000);
                RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "0", out msg);
                LogHelper.Info($" FN1 .D2212=1,2212_LAST=0 å†™ 2210=0,D2212_LAST=1,WRelease1003=1 RArrive1003_LAST=0");
            }
            //else if (tag.FNK1.D2211 == 1)
            //    tag.FNK1.D2210 = 0;
@@ -1350,9 +1387,15 @@
            {
                //tag.FNK1.D2212_LAST = 0;
                RedisHelper.Add($"p发那科1下线.D2212_LAST", "0", out string msg);
                LogHelper.Info($" p发那科1下线.D2212_LAST=0");
            }
            if (tag.FNK1.D2211 == 1)
            {
                tag.FNK1.D2210 = 0;
                LogHelper.Info($" p发那科1下线 è¯»D2211=1  å†™D2210 =0");
            }
        }
        public void ThreadFNK2Over(Tag tag)
@@ -1368,13 +1411,21 @@
                tag.SF下料位.WSafe1113 = 1;
                System.Threading.Thread.Sleep(1000);
                RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "0", out msg);
                LogHelper.Info($" FN2 .D2217=1,2217_LAST=0 å†™ 2215=0,D2217_LAST=1,WRelease1013=1 RArrive1013_LAST=0");
            }
            else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1)
            {
                //tag.FNK2.D2217_LAST = 0;
                RedisHelper.Add($"p发那科2下线.D2217_LAST", "0", out string msg);
                LogHelper.Info($" p发那科2下线.D2217_LAST=0");
            }
            if (tag.FNK2.D2216 == 1)
            {
                tag.FNK2.D2215 = 0;
                LogHelper.Info($" p发那科2下线 è¯»D2216=1  å†™D2215 =0");
            }
            if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0)
            {
@@ -1386,16 +1437,22 @@
                tag.SF下料位.WSafe1113 = 1;
                System.Threading.Thread.Sleep(1000);
                RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "0", out msg);
                LogHelper.Info($" FN2 .D2212=1,2212_LAST=0 å†™ 2210=0,D2212_LAST=1,WRelease1011=1 RArrive1011_LAST=0");
            }
            else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1)
            {
                //tag.FNK2.D2212_LAST = 0;
                RedisHelper.Add($"p发那科2下线.D2212_LAST", "0", out string msg);
                LogHelper.Info($" p发那科2下线.D2212_LAST=0");
            }
            if (tag.FNK2.D2211 == 1)
            {
                tag.FNK2.D2210 = 0;
                LogHelper.Info($" p发那科2下线 è¯»D2211=1  å†™D2210 =0");
            }
        }
        public void Thread1019Down(Tag tag)
        {
@@ -1425,6 +1482,20 @@
    }
    class Messss
    {
        public bool success { get; set; }
        public Ddata data { get; set; }
        public object extra { get; set; }
    }
    public class Ddata
    {
        public string reqCode { get; set; }
        public int state { get; set; }
        public string error { get; set; }
    }
}
#endregion [自定义类-VS][20250623083459471][AutoThread]
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/ViewModel.cs
@@ -142,6 +142,7 @@
                    List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList();
                    bool bobe = false;
                    //model.method = model.method?.ToLower();
                    switch (model.method)
                    {
                        case "start":
@@ -154,7 +155,9 @@
                                bobe = true;
                            }
                            break;
                        case "outBin":
                        case "outbin":
                            model.method = model.method?.ToLower();
                            LogHelper.Info($"海康车任务状态变更为取货完成,任务号为:{model.taskCode}", "agv杭叉交互日志");
                            wcsTask.S_B_STATE = "取货完成";
@@ -184,9 +187,12 @@
                                }
                                else if (device.deviceType == 2)
                                {
                                    var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0;
                                    string V = inde ? "D1224" : "D1225";
                                    Conn.默认Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue");
                                    //Task.Run(() =>
                                    //{
                                    //    var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0;
                                    //    string V = inde ? "D1224" : "D1225";
                                    //    Conn.默认Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue");
                                    //});
                                }
                            }
                            //LocationHelper.UnLockLoc(wcsTask.S_START_LOC);
@@ -244,11 +250,15 @@
                                    }
                                }
                                else if (device2.deviceType == 2)
                                {
                                    if (device2.deviceName.Contains("Js捷顺"))
                                    {
                                        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
                                        {
@@ -265,6 +275,19 @@
                                        //    else tag.Js2.D1225 = 1;
                                        //}
                                    }
                                    var ssloc = device2.deviceNo[1];
                                    var endloc = locrep.FindEntity(x => x.S_LOC_CODE == ssloc);
                                    LogHelper.Info($"捷顺卸货后, æŸ¥çœ‹ç¼“存位 {ssloc}-{endloc?.N_CURRENT_NUM}>0? åˆ™ç”³è¯·mes搬走。");
                                    if (endloc != null && endloc.N_CURRENT_NUM == 1)
                                    {
                                        var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                                        {
                                            requestType = 3,
                                            startBit = ssloc
                                        }));
                                        LogHelper.Info($"{ssloc}申请mes任务结果{str}");
                                    }
                                }
                            }
                            //LocationMethod.JudgeLocation(wcsTask);
@@ -364,7 +387,7 @@
            }
            else
            {
                LogHelper.Info($"当前任务号任务不存在{model.taskCode}", "agv杭叉交互日志");
                LogHelper.Info($"当前任务号任务不存在{model.taskCode} agv杭叉交互日志");
            }
            #endregion [自定义指令][20250324165239206][OperateHKTaskStatus]
        }
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/½çÃæÊ¼þ.cs
@@ -62,6 +62,10 @@
            }
            View1_Init(sender, e);
            LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>");
            LogHelper.Info($"<<<<<<<<<<<<<<<<<程序·启动>>>>>>>>>>>>>>");
            LogHelper.Info($"<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>");
            /// <summary>
            /// ç¨‹åºç‰‡æ®µ:初始化配置
            /// æè¿°:
@@ -78,6 +82,9 @@
                    {
                        #region    [脚本][20250323111613779][业务逻辑.初始化配置]
                        //string a = "{\"success\":true,\"data\":{\"reqCode\":\"008fa3146caa446aa772e160bb3867b6\",\"state\":\"1\",\"error\":\"没有可以使用的缓存点位\"},\"extra\":{}}";
                        //var tsret = JsonConvert.DeserializeObject<Messss>(a);
                        Action myDelegate = () => SettingInit();
                        AutoThread.InvokeMethod(AutoThread.Instance, "ThreadSettingInit", new object[] { tag, myDelegate });
                        #endregion [脚本][20250323111613779][业务逻辑.初始化配置]
@@ -231,21 +238,21 @@
                        //    RunafterMac(di,true);
                        /// TODO  mes ä¸‹å‘。   æ”¹æˆæœºæ¢°è‡‚监控 -  ç›‘控空的还是满的 - è”动mes ä»»åŠ¡ã€‚
                        LogHelper.Info($"设备状态:维希尔1:维希尔抓臂1.State:{Device.维希尔抓臂1.State} ");
                        Device.维希尔抓臂1.ReadPLC("维希尔抓臂1.R50", out object value);
                        LogHelper.Info($"设备状态:维希尔1:维希尔抓臂1.R50:{value?.ToString()} ");
                        //LogHelper.Info($"设备状态:维希尔1:维希尔抓臂1.State:{Device.维希尔抓臂1.State} ");
                        //Device.维希尔抓臂1.ReadPLC("维希尔抓臂1.R50", out object value);
                        //LogHelper.Info($"设备状态:维希尔1:维希尔抓臂1.R50:{value?.ToString()} ");
                        LogHelper.Info($"设备状态:维希尔2:维希尔抓臂2.State:{Device.维希尔抓臂2.State} ");
                        Device.维希尔抓臂2.ReadPLC("维希尔抓臂2.R50", out value);
                        LogHelper.Info($"设备状态:维希尔2:维希尔抓臂2.R50:{value?.ToString()} ");
                        //LogHelper.Info($"设备状态:维希尔2:维希尔抓臂2.State:{Device.维希尔抓臂2.State} ");
                        //Device.维希尔抓臂2.ReadPLC("维希尔抓臂2.R50", out value);
                        //LogHelper.Info($"设备状态:维希尔2:维希尔抓臂2.R50:{value?.ToString()} ");
                        LogHelper.Info($"设备状态:捷瞬1:Js捷顺1.State:{Device.Js捷顺1.State} ");
                        Device.Js捷顺1.ReadPLC("Js捷顺1.D1202", out value);
                        LogHelper.Info($"设备状态:捷瞬1 Js捷顺1.D1202:{value?.ToString()} ");
                        //LogHelper.Info($"设备状态:捷瞬1:Js捷顺1.State:{Device.Js捷顺1.State} ");
                        //Device.Js捷顺1.ReadPLC("Js捷顺1.D1202", out value);
                        //LogHelper.Info($"设备状态:捷瞬1 Js捷顺1.D1202:{value?.ToString()} ");
                        LogHelper.Info($"设备状态:捷瞬2:Js捷顺2.State:{Device.Js捷顺2.State} ");
                        Device.Js捷顺2.ReadPLC("Js捷顺2.D1202", out value);
                        LogHelper.Info($"设备状态:捷瞬2 Js捷顺2.D1202:{value?.ToString()} ");
                        //LogHelper.Info($"设备状态:捷瞬2:Js捷顺2.State:{Device.Js捷顺2.State} ");
                        //Device.Js捷顺2.ReadPLC("Js捷顺2.D1202", out value);
                        //LogHelper.Info($"设备状态:捷瞬2 Js捷顺2.D1202:{value?.ToString()} ");
                        #endregion [脚本][20250325085810885][业务逻辑.第三标段.自流转流程]
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/×Ô¶¨ÒåÀà.cs
@@ -28,6 +28,8 @@
using GZ.DB.Repository.OIDATABASE;
using GZ.DB.IRepository.OIDATABASE;
using GZ.DB.Entity.OIDATABASE;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using NLog.Fluent;
namespace GZ.Projects.AuxAllWCS
{
    public class Settings
@@ -821,35 +823,49 @@
                            //                            sord = "desc",
                            //                            rows = 1
                            //                        }).FirstOrDefault();
                            TaskEntity ec = null;
                            var dev = Conn.默认Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225"));
                            if (dev?.Trim() == "1")
                                ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "完成", new Common.Data.Pagination
                                {
                                    page = 1,
                                    sidx = "T_CREATE",
                                    sord = "desc",
                                    rows = 1
                                }).FirstOrDefault();
                            if (t1.S_START_LOC == task.S_START_LOC && ec != null)//!= task.S_END_LOC)
                            //TaskEntity ec = null;
                            //var dev = Conn.默认Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225"));
                            //if (dev?.Trim() == "1")
                            //    ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "完成", new Common.Data.Pagination
                            //    {
                            //        page = 1,
                            //        sidx = "T_CREATE",
                            //        sord = "desc",
                            //        rows = 1
                            //    }).FirstOrDefault();
                            bool canReq = true;
                            var tf = Conn.默认Redis.GetValue(sx.deviceName + ".D1202");
                            var V = sx.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0;
                            var tf2 = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
                            canReq = TcpServer.GetBitdata(tf2, (V ? 2 : 3)) == 1;
                            //if (canReq)
                            //    ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "完成", new Common.Data.Pagination
                            //    {
                            //        page = 1,
                            //        sidx = "T_CREATE",
                            //        sord = "desc",
                            //        rows = 1
                            //    }).FirstOrDefault();
                            if (t1.S_START_LOC == task.S_START_LOC && canReq)//!= task.S_END_LOC)
                            {
                                //第二段。
                                LocEntity endLoc = null;
                                var di = sx;
                                if (di != null)
                                {
                                    foreach (var ssloc in di.deviceNo)
                                    //foreach (var ssloc in di.deviceNo)
                                    {
                                        var ssloc = di.deviceNo[1];
                                        var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
                                        if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "无")
                                        if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "无")
                                        {
                                            endLoc = endloc;
                                            break;
                                            //break;
                                        }
                                    }
                                    if (endLoc != null)
                                    {
                                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "下空", 7, ec.S_CNTRS.Split(',').ToList());
                                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "下空", 7, "NONE".Split(',').ToList());
                                        if (res)
                                        {
                                            task.N_PRIORITY = 0; taskservice.Update(task);
@@ -859,6 +875,10 @@
                            }
                            else
                            {
                                if (t1.S_START_LOC != task.S_START_LOC)
                                {
                                    t1 = taskservice.FindEntity(x => x.S_SRC_NO == task.S_TASK_NO && x.S_START_LOC == task.S_START_LOC && x.S_B_STATE == "完成");
                                }
                                var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "补满", 6, task.S_CNTRS.Split(',').ToList());
                                if (res)
                                {
@@ -875,19 +895,20 @@
                        var di = sx;
                        if (di != null)
                        {
                            foreach (var ssloc in di.deviceNo)
                            //foreach (var ssloc in di.deviceNo)
                            {
                                var ssloc = di.deviceNo[0];
                                var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
                                if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "无")
                                if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "无")
                                {
                                    endLoc = endloc;
                                    break;
                                    //break;
                                }
                            }
                            if (endLoc != null)
                            {
                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} åˆ›å»ºç¬¬ä¸€æ®µ ä»»åŠ¡ã€‚");
                                var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "满转", 8, task.S_CNTRS.Split(',').ToList());
                                var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "满转", 8, task.S_CNTRS.Split(',').ToList());
                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} åˆ›å»ºç¬¬ä¸€æ®µ ä»»åŠ¡ã€‚ç»“æžœï¼š{res}");
                                if (res)
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Dlls/GZ.Device.PLC.dll
Binary files differ
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/GZ.Device.PLC.dll
Binary files differ