From c248264e3bc150d145fd38f76f468f938270782a Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期五, 20 六月 2025 17:14:26 +0800
Subject: [PATCH] 111

---
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
index 7222b46..7a1afca 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
@@ -135,8 +135,8 @@
                 var trayInfo = MongoDBSingleton.Instance.FindOne<trayTypeTable>(Query.EQ("locCode", mst.CN_S_START_BIT), "trayTypeTable");
                 if (trayInfo != null && trayInfo.trayType == "2")
                 {
-                    start.CN_N_AGV_LOCATION = MongoDBSingleton.Instance.FindOne<STOCK_LOCATION_Two>(Query.EQ("CN_S_LOCATION_CODE", mst.CN_S_START_BIT), "STOCK_LOCATION_Two").CN_N_AGV_LOCATION;
-                    end.CN_N_AGV_LOCATION = MongoDBSingleton.Instance.FindOne<STOCK_LOCATION_Two>(Query.EQ("CN_S_LOCATION_CODE", mst.CN_S_END_BIT), "STOCK_LOCATION_Two").CN_N_AGV_LOCATION;
+                    start.CN_N_AGV_LOCATION = start.CN_N_AGV_LOCATION + 400;
+                    end.CN_N_AGV_LOCATION = end.CN_N_AGV_LOCATION + 400;
                     CMMLog.Info($"浠诲姟鎺ㄩ�锛氱敯瀛楁墭璧风偣缁堢偣 绔欑偣鏇存敼锛岃捣鐐癸細{start.CN_N_AGV_LOCATION}锛岀粓鐐癸細{end.CN_N_AGV_LOCATION}");
                 }
 
@@ -254,6 +254,7 @@
                     if (mst.CN_S_BUSS_TYPE == "鍖呰绾胯ˉ绌�) PLCControl.PackingLineComplete(plc.ip);
                     if (mst.CN_S_BUSS_TYPE == "鐢垫鍙栬揣") PLCControl.LiftAction(plc, mst.CN_S_TASK_NO,false);
                     if (mst.CN_S_BUSS_TYPE == "鍥涢挻鎴愬搧鍑哄簱" || mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍑哄簱") PLCControl.productOutWare(mst.CN_S_END_BIT, mst.CN_S_TASK_NO, false);
+                    if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) PLCControl.CacheStackingMouth6(plc,mst.CN_S_TASK_NO);
                 }
             }
         }
@@ -300,7 +301,7 @@
                     //if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋�) PLCControl.SecondWeightInCache1012(plc.deviceType, mst.CN_S_TASK_NO);//浜屾湡锛氱洿鎺ユ敼鍙傛暟
                     if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) TSHelper.GoToAGV(mst.CN_S_TASK_NO, 10, 1);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingReqUnload(plc.deviceType, mst.CN_S_TASK_NO);
-                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO);
+                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO,plc.port);
                     if (mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍏ュ簱") PLCControl.productInWare(mst.CN_S_START_BIT, mst.CN_S_TASK_NO, true);
                 }
                 if (code == 4)
@@ -309,7 +310,7 @@
                     if (mst.CN_S_BUSS_TYPE.Contains("3妤煎寘瑁呭彇鏂�)) PLCControl.PickUpFullDoorComplete(plc.ip, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G") PLCControl.SecondWeightInCache4(plc.deviceType, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingComplete(plc.deviceType, mst.CN_S_TASK_NO);
-                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO);
+                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO,plc.port);
                     if (mst.CN_S_BUSS_TYPE != "3妤煎寘瑁呭彇鏂�) WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, 4);
                     if (mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍏ュ簱") PLCControl.productInWare(mst.CN_S_START_BIT, mst.CN_S_TASK_NO, false);
                 }
@@ -464,15 +465,14 @@
             try
             {
                 string endMachLoc = "";
-                string endLoc = "";
                 //1銆佸垽鏂笂鏂欏钩鍙版槸鍚︾┖闂诧紝鑻ョ┖闂叉洿鏀圭粓鐐瑰埌涓婃枡骞冲彴
-                var plc = Settings.GetPlcInfo().Where(a => a.deviceType == "18" && a.enable == 1).ToList();
+                var plc = Settings.GetPlcInfo().Where(a => a.deviceType == "51" && a.enable == 1).ToList();
                 if (plc.Count > 0)
                 {
                     #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴
-                    bool action = true;
-                    plc.ForEach(a =>
+                    foreach(var a in plc)
                     {
+                        bool action = false;
                         var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
                         {
                             dataNum = 1,
@@ -482,11 +482,11 @@
                         });
                         if (modeResult != null && modeResult.errCode == 0)
                         {
-                            CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr}鐨勫�涓猴細{modeResult.result[0]}");
+                            CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満ip:{a.ip},绔彛锛歿a.port}閫氶亾鍙蜂负锛歿a.readAddr}鐨勫�涓猴細{modeResult.result[0]}");
                             if (modeResult.result[0] == 2)
                             {
-                                action = false;
                                 CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}");
+                                break;
                             }
                             else
                             {
@@ -496,22 +496,33 @@
                                 {
                                     if (modelInfo.Mode == "鍏ュ簱妯″紡")
                                     {
-                                        action = false;
                                         CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡");
+                                    }
+                                    else
+                                    {
+                                        action = true;
+                                        int[] num = new int[1] { 1 };
+                                        var writeRes = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+                                        {
+                                            host = a.ip,
+                                            addr = a.writeAddr,
+                                            data = num,
+                                            port = a.port
+                                        });
                                     }
                                 }
                                 else
                                 {
-                                    action = false;
                                     CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖");
                                 }
                             }
                         }
-                    });
-                    if (!action)
-                    {
-                        return false;
-                    }
+                        if (!action)
+                        {
+                            return false;
+                        }
+                    };
+                    
                     #endregion
 
                     CMMLog.Info($"OutWareTask 11111");
@@ -631,6 +642,14 @@
                                 }
                                 else
                                 {
+                                    int[] num = new int[1] { 2 };
+                                    var writeRes = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+                                    {
+                                        host = plc.ip,
+                                        addr = plc.writeAddr,
+                                        data = num,
+                                        port = plc.port
+                                    });
                                     return true;
                                 }
                             }

--
Gitblit v1.9.1