From ff48949f706e899725c1ef7d0426c12c2b3e674f Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期四, 17 七月 2025 17:18:16 +0800
Subject: [PATCH] 1

---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs |  108 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 76 insertions(+), 32 deletions(-)

diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
index 6529bb7..6fa8241 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
@@ -596,11 +596,15 @@
         /// 灏忚溅鍒拌揪鍖呰鏈哄畨鍏ㄩ棬鍙h姹傝繘鍏�         /// </summary>
         /// <param name="ips"></param>
-        internal static void PickUpFullDoorUnload(string ip, string taskNo)
+        internal static void PickUpFullDoorUnload(string ip, string taskNo, string type)
         {
             var plc = Settings.GetPlcInfo().Where(a => a.ip == ip).FirstOrDefault();
             //ASM鍐欏叆閫氶亾0灏忚溅鍔ㄤ綔锛�-鍙栨枡
             int[] num = new int[2] { 1, 1 };
+            //if(type == "PDA鎵撳寘涓嬬嚎")
+            //{
+            //    num[0] = 4;
+            //}
             var writeRes0 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
             {
                 host = ip,
@@ -3930,8 +3934,8 @@
                     if (locInfo.state == "1")
                     {
                         //鍙樻洿娉ㄩ噴
-                        //if (string.IsNullOrEmpty(locInfo.END_LOC))
-                        //{
+                        if (string.IsNullOrEmpty(locInfo.END_LOC))
+                        {
                             CMMLog.Info("InWarehouse:" + JsonConvert.SerializeObject(locInfo));
                             string wmstaskno = "";
                             string trayCode = locInfo.timeCuo;
@@ -3956,19 +3960,16 @@
                                 }
                             }
                             else CMMLog.Info($"鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�);
-                        //}
-                        //else
-                        //{
-                        //    //闃叉杈呮潗鍥炲簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�-                        //    if(locInfo.trayCode.Substring(0,3) == "SWT")
-                        //    {
-                        //        HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗杞繍", 0, locInfo.trayCode);
-                        //    }
-                        //    else
-                        //    {
-                        //        MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("_id", locInfo._id), Update.Set("END_LOC", ""), UpdateFlags.None);
-                        //    }
-                        //}
+                        }
+                        else
+                        {
+                            //闃叉杈呮潗鍑哄簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�+                            HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗鍑哄簱锛堜簩娈碉級", 0, locInfo.trayCode);
+                            if (req.success)
+                            {
+                                MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "ConnectingBits", UpdateFlags.None);
+                            }
+                        }
                     }
                 }
             }
@@ -3992,15 +3993,27 @@
                     if (locInfo.state == "1")
                     {
                         CMMLog.Info("DGInWarehouse:" + JsonConvert.SerializeObject(locInfo));
-                        string wmstaskno = "";
-                        string trayCode = locInfo.trayCode;
-                        bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "DGCK");
-                        if (req)
+                        if (!string.IsNullOrEmpty(locInfo.END_LOC))
                         {
-                            CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
-                            MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locInfo.Bit, locInfo.END_LOC, "鐢甸挻鐢熶骇閫�簱(浜屾)", 0, locInfo.trayCode);
+                            if(amsResult.success)
+                            {
+                                CMMLog.Info($"鐢甸挻鐢熶骇閫�簱(浜屾)娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
+                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            }
                         }
-                        else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�);
+                        else
+                        {
+                            string wmstaskno = "";
+                            string trayCode = locInfo.trayCode;
+                            bool req = WMSHelper.WMSIn(locCode, "鐢甸挻鎵撳寘涓嬬嚎", ref wmstaskno, ref trayCode, "", "DGCK");
+                            if (req)
+                            {
+                                CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�);
+                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
+                            }
+                            else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�);
+                        }
                     }
                 }
             }
@@ -4511,17 +4524,48 @@
             else CMMLog.Info("绔嬪簱閫氶亾鏈厤缃�);
         }
 
-        internal static void fcrk(Settings.PlcInfo plc)
+        internal static void fcrk(Settings.PlcInfo plc,bool action, string taskNo = "")
         {
-            int[] num = new int[1] { 2 };
-            var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+            if (action)
             {
-                addr = plc.writeAddr + 2,
-                host = plc.ip,
-                port = plc.port,
-                data = num
-            });
-            CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}");
+                var writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
+                {
+                    host = plc.ip,
+                    addr = plc.writeAddr,
+                    data = 1,
+                    port = plc.port
+                });
+                CMMLog.Debug($"鍐欏叆璁惧{plc.location}閫氶亾{plc.writeAddr}閲岄潰鏁版嵁涓�.");
+
+                var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
+                {
+                    dataNum = 2,
+                    addr = plc.readAddr,
+                    host = plc.ip,
+                    port = plc.port
+                });
+                CMMLog.Debug($"鏌ヨ璁惧{plc.location}閫氶亾{plc.readAddr}閲岄潰鏁版嵁涓簕result.result[0]}銆亄result.result[1]}.");
+                if (result != null && result.errCode == 0)
+                {
+                    if (result.result[0] == 1 && result.result[1] == 2)
+                    {
+                        //鎺ㄩ�灏忚溅杩涘叆
+                        TSHelper.GoToAGV(taskNo, 10, 1);
+                    }
+                }
+            }
+            else
+            {
+                int[] num = new int[1] { 2 };
+                var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
+                {
+                    addr = plc.writeAddr + 2,
+                    host = plc.ip,
+                    port = plc.port,
+                    data = num
+                });
+                CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}");
+            }
         }
 
         /// <summary>

--
Gitblit v1.9.1