From d59da24ddf642f6a50d8134ad082eda90dc3dc1e Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期四, 12 九月 2024 14:00:11 +0800
Subject: [PATCH] 优化输送线交互逻辑

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 63371cd..17059d0 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -670,6 +670,10 @@
                     // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
                     var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
                     var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+                    if (!res.IsSucceed)
+                    {
+                        break;
+                    }
                     var http = new HttpService();
                     string TaskNo = "", EndLocate = "";
                     strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo);
@@ -722,6 +726,10 @@
                     // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
                     var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
                     var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+                    if (!res.IsSucceed)
+                    {
+                        break;
+                    }
                     string pallet = palletVal.ToString();
                     // 鑾峰彇浠诲姟淇℃伅
                     var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In && s.StartRoadway == modDevice.StationNum);
@@ -813,6 +821,10 @@
                     // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
                     var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
                     var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+                    if (!res.IsSucceed)
+                    {
+                        break;
+                    }
                     var http = new HttpService();
                     string TaskNo = "";
                     // 鍚慦MS鐢宠鍌ㄤ綅淇℃伅
@@ -868,6 +880,10 @@
                     // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
                     var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
                     var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
+                    if (!res.IsSucceed || !taskRes.IsSucceed )
+                    {
+                        break;
+                    }
                     string pallet = palletVal.ToString();
                     string taskNo = taskNoVal.ToString();
                     // 鑾峰彇浠诲姟淇℃伅
@@ -881,7 +897,9 @@
                     var sInfo = PLCCommon.GetStokePlc(modTask.EndRoadway, louCeng);
                     if (string.IsNullOrWhiteSpace(sInfo.Ip))
                     {
-                        throw new Exception("鏍规嵁宸烽亾鑾峰彇璺烘満IP澶辫触锛岃鑱旂郴绠$悊鍛�");
+                        //闇�鍔犱笂LED鏄剧ず
+                        Log.Error(string.Format($"鏍规嵁宸烽亾鑾峰彇璺烘満IP澶辫触锛岃鑱旂郴绠$悊鍛�"));
+                        break; 
                     }
                     // 璺烘満杩炴帴
                     var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == sInfo.Ip);
@@ -907,7 +925,8 @@
 
                         // 鑾峰彇璺烘満褰撳墠鐘舵��
                         var (djRes, djVal) = plcStackeConn.GetPlcDBValue(djMod.PosType, djMod.DbNumber, djMod.PlcPos);
-                        if (djVal != "820")
+                        
+                        if (!djRes.IsSucceed || djVal != "820")
                         {
                             // 璺烘満闈炵┖闂茬瓑寰�
                             break;

--
Gitblit v1.8.0