1
czw
3 天以前 52bd4af193199c19177f40dab06fa83b7a3dc59f
1
4个文件已修改
104 ■■■■■ 已修改文件
2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Devices/PlcConfig 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Devices/设备通信.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Dlls/GZ.Device.PLC.dll 补丁 | 查看 | 原始文档 | blame | 历史
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -175,7 +175,7 @@
            }, tag, device, 3000));
            tasks.Add(GetTask(ThreadMXC3, tag, 3000));
            tasks.Add(GetTask(ThreadMXC4, tag, 3000));
            tasks.Add(GetTask(ResetGats, tag, 3000));
            //tasks.Add(GetTask(ResetGats, tag, 3000));
            tasks.Add(GetTask(sa1022, tag, 3000));
            tasks.Add(GetTask(sa1025, tag, 3000));
@@ -183,10 +183,10 @@
            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));
            //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());
        }
@@ -282,6 +282,7 @@
            if (VERX != null)
            {
                LogHelper.Info($"{VERX.deviceName} D1212>{tag.Js1.D1212} å·¦æ»¡ä¿¡å·:{TcpServer.GetBitdata(tag.Js1.D1212, 2)} D1212_LAST>{tag.Js1.D1212_LAST} å³æ»¡ä¿¡å·>{TcpServer.GetBitdata(tag.Js1.D1212, 3)} D1213_LAST>{tag.Js1.D1213_LAST}");
                if (tag.Js1.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 1)
                {
                    var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
@@ -300,8 +301,9 @@
                if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0)
                {
                    //tag.Js1.D1212_LAST = 0; 
                    tag.Js1.D1224 = 0;
                    RedisHelper.Add($"Js捷顺1.D1202_LAST", "0", out string msg);
                    //Conn.默认Redis.SetValue(VERX.deviceName + ".D1224", "0", VERX.deviceName + "Queue");
                    //Conn.默认Redis.SetValue("Js捷顺1.D1224", "0", VERX.deviceName + "Queue");
                }
                if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1)
@@ -322,8 +324,8 @@
                if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0)
                {
                    //tag.Js1.D1213_LAST = 0;
                    tag.Js1.D1225 = 0;
                    RedisHelper.Add($"Js捷顺1.D1203_LAST", "0", out string msg);
                    //Conn.默认Redis.SetValue(VERX.deviceName + ".D1225", "0", VERX.deviceName + "Queue");
                }
            }
        }
@@ -338,6 +340,8 @@
            if (VERX != null)
            {
                LogHelper.Info($"{VERX.deviceName} D1212>{tag.Js2.D1212} å·¦æ»¡ä¿¡å·:{TcpServer.GetBitdata(tag.Js2.D1212, 2)} D1212_LAST>{tag.Js2.D1212_LAST} å³æ»¡ä¿¡å·>{TcpServer.GetBitdata(tag.Js2.D1212, 2)} D1213_LAST>{tag.Js2.D1213_LAST}");
                if (tag.Js2.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 1)
                {
                    var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
@@ -355,7 +359,7 @@
                if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0)
                {
                    //tag.Js2.D1212_LAST = 0;
                    tag.Js2.D1224 = 0;
                    RedisHelper.Add($"Js捷顺2.D1202_LAST", "0", out string msg);
                }
                if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1)
@@ -376,7 +380,7 @@
                if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0)
                {
                    //tag.Js2.D1213_LAST = 0;
                    tag.Js2.D1225 = 0;
                    RedisHelper.Add($"Js捷顺2.D1203_LAST", "0", out string msg);
                }
            }
@@ -792,7 +796,7 @@
                    LogHelper.Info($"RGV æ•…障,不用管。");
                    return;
                }
                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} ");
                LogHelper.Info($"RGV125命令查看 Rgv任务数据 å†™ workmode:{tag.RGV.workMod} taskmod{tag.RGV.taskmod}  t1No:{tag.RGV.taskno1} t1do:{tag.RGV.task1do}  t2No:{tag.RGV.taskno2} t2do:{tag.RGV.task2do} taskend:{tag.RGV.taskend} ");
                if (tag.RGV.taskend == 125)
                {
                    LogHelper.Info($"RGV æœ‰125命令未执行。 ");
@@ -805,28 +809,28 @@
                    System.Threading.Thread.Sleep(3000);
                    return;
                }
                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}");
                LogHelper.Info($"任务下发 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;
                if (tag.RGV.ReadTask1No > 0 && tag.RGV.bit1taskOver != 1)
                {
                    var taskno = tag.RGV.ReadTask1No;
                    string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                    task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
                    if (task1 != null && task1.S_B_STATE != "完成")
                        task1Isrun = true;
                    //var taskno = tag.RGV.ReadTask1No;
                    //string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                    //task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
                    //if (task1 != null && task1.S_B_STATE != "完成")
                    task1Isrun = true;
                    //if (tag.RGV.bit1taskOver_LAST == 1)
                    //    RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg);
                }
                var task2Isrun = false;
                if (tag.RGV.ReadTask2No > 0 && tag.RGV.bit2taskOver != 1)
                {
                    var taskno = tag.RGV.ReadTask2No;
                    string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                    task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
                    if (task2 != null && task2.S_B_STATE != "完成")
                        task2Isrun = true;
                    //var taskno = tag.RGV.ReadTask2No;
                    //string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                    //task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
                    //if (task2 != null && task2.S_B_STATE != "完成")
                    task2Isrun = true;
                    //if (tag.RGV.bit2taskOver_LAST == 1)
                    //    RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg);
                }
@@ -1163,8 +1167,8 @@
            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).ToList();
            var timeMorhours = requires.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1);
            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())
            {
                foreach (var mor in timeMorhours)
@@ -1173,10 +1177,23 @@
                    mor.S_REVIEW_COMMENT = "超时不处理";
                    taskActRepository.Update(mor);
                }
                requires = requires.Except(timeMorhours).ToList();
                requires1 = requires1.Except(timeMorhours).ToList();
            }
            foreach (var item in requires)
            foreach (var requires in requires1.GroupBy(x => x.S_TASK_NO))
            //foreach (var item in requires)
            {
                var rsss = requires.ToList();
                var item = rsss.OrderBy(x => x.S_ACTION_CODE.Contains("release") ? 0 : 1).LastOrDefault();
                if (rsss.Count > 1)
                {
                    rsss.Remove(item);
                    foreach (var mor in rsss)
                    {
                        mor.N_CREATEMETHOD = 3;
                        mor.S_REVIEW_COMMENT = "多余不处理";
                        taskActRepository.Update(mor);
                    }
                }
                LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}光栅处理 =================> ");
                var tin = taskCOdes.IndexOf(item.S_ACTION_CODE);
                if (tin == -1)
@@ -1532,6 +1549,7 @@
                }
            }
            System.Threading.Thread.Sleep(3000);
            //ResetGats(tag);
        }
        public void ResetGats(Tag tag)
        {
@@ -1544,18 +1562,20 @@
                //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);
                }
                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, 0) == 0)
                //{
                //    Conn.默认Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue", false);
                //    Conn.默认Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue", false);
                //}
                //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.GetValue(dev.deviceName + ".D1224");
                    Conn.默认Redis.SetValue(dev.deviceName + ".D1224", "0", dev.deviceName + "Queue", false);
                }
                if (TcpServer.GetBitdata(numm, 3) == 0)
@@ -2274,8 +2294,16 @@
            //}
            //Console.WriteLine($"SA1030 ä»»åŠ¡çŠ¶æ€ï¼š{tag.SA1030.RtaskState}- ç©ºé—²{tag.SA1030.R5空闲}-->对应终点2001>空闲5:{tag.SA2001.R5空闲}");
        }
        static int i = 0;
        public void Thread2030Down(Tag tag)
        {
            i++;
            if (i > 2 * 3600 / 3)
            {
                Console.Clear();
                LogHelper.Info($"循环{i}次>> æ¸…空控制台。");
                i = 0;
            }
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š   =====>");
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š{tag.SA2030.RtaskState}- ç©ºé—²{tag.SA2030.R5空闲} - barcode:{tag.SA2030.R托盘码}");
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Devices/PlcConfig
@@ -5164,7 +5164,7 @@
          "SetValue": "",
          "Address": "DB100.72",
          "AddrType": "",
          "Length": 1,
          "Length": 2,
          "Desc": "",
          "Trigger": false,
          "Reserve1": "",
@@ -9523,5 +9523,5 @@
    }
  ],
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-10 14:15:37"
  "LastWriteTime": "2025-07-15 10:35:06"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Devices/É豸ͨÐÅ.json
@@ -2,5 +2,5 @@
  "ProjectSn": "1",
  "DeviceList": [],
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-10 14:15:49"
  "LastWriteTime": "2025-07-15 10:35:06"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Dlls/GZ.Device.PLC.dll
Binary files differ