From 969aafa8bd335025da4caf5939a1626bad4f4236 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期四, 19 六月 2025 16:54:03 +0800
Subject: [PATCH] Merge branch 'csc'

---
 Admin.NET/WCS.Application/PLC/PLCTaskAction.cs |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index 38b08f4..fa54401 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -332,7 +332,7 @@
 
 
 
-                        Thread.Sleep(3000);
+                        Thread.Sleep(2000);
                     }
                     catch (OperationCanceledException)
                     {
@@ -385,7 +385,7 @@
                     
                     if (waitTask.TaskType == TaskTypeEnum.In )
                     {
-                        //鍏ュ簱浠诲姟璧峰宸烽亾灏辨槸璧峰宸ヤ綅
+                        //鍏ュ簱浠诲姟璧峰宸烽亾灏辨槸鍥涘悜杞﹀彇璐у伐浣�
                         if (string.IsNullOrWhiteSpace(waitTask.StartRoadway) || string.IsNullOrWhiteSpace(waitTask.EndLocate))
                         {
                             continue;
@@ -397,6 +397,7 @@
                     }
                     else if (waitTask.TaskType == TaskTypeEnum.Out)
                     {
+                        //鍑哄簱浠诲姟鐩爣宸烽亾灏辨槸鍥涘悜杞︽斁璐у伐浣�
                         taskceng = int.Parse(waitTask.StartLocate.Substring(4, 2));
                         starLocate = waitTask.StartLocate;
                         endLocate = waitTask.EndRoadway;
@@ -407,33 +408,36 @@
 
                         var text = "";
                         var devStation = "";
+                        var ip = "";
                         var carcon = new carConverModel();
                         if (carcon.conveyorBei.Keys.Contains(endLocate))
                         {
                             text = "杈撻�佺嚎鍖�";
+                            ip = "10.26.254.10";
                             devStation = carcon.conveyorBei[endLocate];
                         }
                         else if (carcon.conveyorNan.Keys.Contains(endLocate))
                         {
                             text = "杈撻�佺嚎鍗�";
+                            ip = "10.26.254.11";
                             devStation = carcon.conveyorNan[endLocate];
                         }
                         if (text != "")
                         {
-                            var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text);
-                            var modConn = new PLCUtil(modPlc);
-
+                            //var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text);
+                            //var modConn = new PLCUtil(modPlc);
+                            var modConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == ip);
                             var modDevice = PLCTaskAction.plcDevices.First(s => s.StationNum == devStation);
                             var (plcResult, palletVal) = modConn.GetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.PlcPos);
                             if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 720)
                             {
                                 continue;//鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂�
-                            }
-                            modConn.Close();
+                            } 
 
                             var gongwei = carcon.conveyorRuKu[endLocate];
                             //鍒ゆ柇浠诲姟
-                            var convarTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.StartLocate == gongwei && m.Type == PLCTypeEnum.ConveyorLine);
+                            var convarTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.StartLocate == gongwei
+                            && m.Type == PLCTypeEnum.ConveyorLine && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing));
                             if (convarTask != null)
                             {
                                 continue;//鏀捐揣宸ヤ綅鏈変换鍔�
@@ -492,6 +496,18 @@
                                         break; //鏆傜紦鍒嗛厤锛岄槻姝㈠悓灞傚皬杞﹀叧鏈烘垨澶辫仈瀵艰嚧闃绘尅璺緞
                                     }
                                 }
+                                var modCarPall = plcPosition.FirstOrDefault(s => s.Text == "鎵樼洏妫�娴�");
+                                var (resultPall, valuePall) = modbusUtil.GetDBValue(modCarPall.PosType, modCarPall.PlcPos);
+                                //var modCarju = plcPosition.FirstOrDefault(s => s.Text == "涓惧崌浣嶇疆");
+                                //var (resultju, valueju) = modbusUtil.GetDBValue(modCarju.PosType, modCarju.PlcPos);
+                                //if (resultPall.IsSucceed && valuePall == 1  && resultPall.IsSucceed && valuePall != 1)  //1椤惰揣 2瀛愰�氶亾  3涓婚�氶亾
+                                //{
+                                //    break; //鏆傜紦鍒嗛厤 
+                                //}
+                                if (resultPall.IsSucceed && valuePall == 1)  //1鏈夋墭鐩� 2鏃犳墭鐩�
+                                {
+                                    break; //鏆傜紦鍒嗛厤 
+                                }
                                 //灏忚溅绌洪棽鍔犲叆闆嗗悎
                                 if (value == 1)
                                 {

--
Gitblit v1.8.0