From fb892155304372a62658b48a351f392f227c30bb Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期二, 10 六月 2025 17:33:51 +0800
Subject: [PATCH] 111

---
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/WMSHelper.cs                                                        |   26 ++--
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/.vs/Hanhe.iWCS.TaizhouGEMTwoProtocol/v17/DocumentLayout.backup.json |   65 ++++++++++
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/PLCControl.cs                                                       |  203 ++++++++++++++++++---------------
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs                                                    |    4 
 ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/MESHelper.cs                                                        |    4 
 5 files changed, 193 insertions(+), 109 deletions(-)

diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/.vs/Hanhe.iWCS.TaizhouGEMTwoProtocol/v17/DocumentLayout.backup.json b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/.vs/Hanhe.iWCS.TaizhouGEMTwoProtocol/v17/DocumentLayout.backup.json
new file mode 100644
index 0000000..324cf49
--- /dev/null
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/.vs/Hanhe.iWCS.TaizhouGEMTwoProtocol/v17/DocumentLayout.backup.json
@@ -0,0 +1,65 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u6CF0\u5DDE\u683C\u6797\u7F8E\\ams\\Hanhe.iWCS.TaizhouGEMTwoProtocol\\",
+  "Documents": [],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": -1,
+          "Children": [
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+            }
+          ]
+        },
+        {
+          "DockedWidth": 22,
+          "SelectedChildIndex": -1,
+          "Children": [
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:1:0:{e8034f19-ab72-4f06-83fd-f6832b41aa63}"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/MESHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/MESHelper.cs
index 78b8f99..316631d 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/MESHelper.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/MESHelper.cs
@@ -621,6 +621,10 @@
             /// </summary>
             public string oneTrayWeight { get; set; } = "0";
             /// <summary>
+            /// 璁惧閫氶亾鏁版嵁2鈥斺�澶嶇О姣涢噸锛�2浣嶆暣鏁�+            /// </summary>
+            public string oneTrayWeightFC { get; set; } = "0,0";
+            /// <summary>
             /// 璁惧閫氶亾鏁版嵁2鈥斺�鎵樼洏绫诲瀷锛�2浣嶆暣鏁�             /// </summary>
             public string trayType { get; set; } = "0";
diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/PLCControl.cs
index a87bf99..596065b 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/PLCControl.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/PLCControl.cs
@@ -569,8 +569,7 @@
                         //    num[b] = Convert.ToInt32(Convert.ToString(int.Parse(taskInfo.Ext2), 2).PadLeft(32, '0').ToString().Substring(k, 16), 2);
                         //}
 
-                        CMMLog.Debug($"{num}");
-                        Console.WriteLine(num);
+                        CMMLog.Debug($"{JsonConvert.SerializeObject(num)}");
                         var wirteall = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
                         {
                             addr = plc.writeAddr + 5,
@@ -737,7 +736,9 @@
                 {
                     if(plc.deviceType == "22")
                     {
+                        var newWeight = result.result[19] + "," + result.result[20];
                         MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(Query.EQ("trayCode", model.ext2), Update.Set("secondNg", result.result[2]), UpdateFlags.None);
+                        MongoDBSingleton.Instance.Update<MachineInfoTwoTetracobalt>(Query.EQ("trayCode", model.ext2), Update.Set("secondNg", result.result[2]).Set("oneTrayWeightFC",newWeight), UpdateFlags.None);
                     }
                     else
                     {
@@ -1159,32 +1160,6 @@
                 else if (readres.result[0] == 2)
                 {
                     TSHelper.GoToAGV(taskNo, 10, 3);
-                    //var task = MongoDBSingleton.Instance.FindOne<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), "TN_I_TASK_MST");
-                    //var machine = MongoDBSingleton.Instance.FindOne<WMSInfo>(Query.EQ("trayCode", task.CN_S_BATCH_NO), "WMSInfo");
-                    //if (machine != null)
-                    //{
-                    //    if (Settings.cacheStackWrite == "0")
-                    //    {
-                    //        int[] num = DiePan(machine);
-                    //
-                    //        var wirteall01 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
-                    //        {
-                    //            addr = plc.writeAddr + 10,
-                    //            host = plc.ip,
-                    //            port = plc.port,
-                    //            data = num
-                    //        });
-                    //    }
-                    //    else WriteCacheStackingData(plc, task, machine);
-                    //
-                    //    var wirte = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
-                    //    {
-                    //        addr = plc.writeAddr + 1,
-                    //        host = plc.ip,
-                    //        port = plc.port,
-                    //        data = 2
-                    //    });
-                    //}
                 }
             }
             else CMMLog.Debug($"缂撳瓨鍏ュ彔鐩樻満锛�013锛宲lc=null!");
@@ -1192,7 +1167,7 @@
 
         public static void WriteCacheStackingData(Settings.PlcInfo plc, TN_I_TASK_MST task, WMSInfo machine)
         {
-            if (plc.deviceType == "22")
+            if (plc.deviceType == "23")
             {
                 //鍥涢挻杞﹂棿
                 var machineTwo = MongoDBSingleton.Instance.FindOne<MachineInfoTwoTetracobalt>(Query.EQ("trayCode", task.CN_S_BATCH_NO), "MachineInfoTwoTetracobalt");
@@ -1204,7 +1179,7 @@
                     CMMLog.Info($"3妤肩紦瀛樻灦鍏ュ彔鎵�鍐欏叆鏁版嵁锛歿JsonConvert.SerializeObject(num)},IPort:{plc.ip},{plc.port}");
                     var wirteall01 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
                     {
-                        addr = plc.writeAddr + 10,
+                        addr = plc.writeAddr + 5,
                         host = plc.ip,
                         port = plc.port,
                         data = num
@@ -1245,12 +1220,12 @@
         {
 
             var ErpItemInfo = MongoDBSingleton.Instance.FindOne<ERPItemTable>(Query.EQ("item_code", machineInfoTwo.materialCode), "ERPItemTable");
-            CMMLog.Info($"3妤肩紦瀛樻灦鍏ュ彔鎵�鏀跺埌淇″彿5锛屾煡璇achineInfoTwoTetracobalt琛ㄤ俊鎭細{JsonConvert.SerializeObject(ErpItemInfo)}銆�);
+            CMMLog.Info($"3妤肩紦瀛樻灦鍏ュ彔鎵�鏀跺埌淇″彿4锛屾煡璇RPItemTable琛ㄤ俊鎭細{JsonConvert.SerializeObject(ErpItemInfo)}銆�);
 
             //鍋忕Щ閲�+11 閫氶亾鑼冨洿锛�40311 ~ 40390
             CMMLog.Info($"鍙犵洏鏈烘暟鎹鐞�");
             //10~19閫氶亾
-            int[] num = new int[105];//鎬婚暱搴︼細80
+            int[] num = new int[105];//鎬婚暱搴︼細105
 
             #region   0~23 => 6~29
             int a = 0;//鍛樺伐缂栧彿澶勭悊
@@ -1262,8 +1237,10 @@
             a = 0;//鎵樼洏鐮佸鐞�             for (int b = 5; b <= 7; b++)
             {
-                num[b] = int.Parse(AsciiToTen(machine.trayCode.Substring(a, 2)));
-                a = a + 2;
+                //num[b] = int.Parse(AsciiToTen(machine.trayCode.Substring(a, 2)));
+                //a = a + 2;
+
+                num[b] = 0;
             }
             num[8] = int.Parse(AsciiToTen(machine.location));//鍖呰鏈哄彿
             for (int b = 9; b <= 10; b++)
@@ -1281,7 +1258,12 @@
                 int k = b % 2 == 0 ? 0 : 16;
                 num[b] = Convert.ToInt32(Convert.ToString(int.Parse(machine.oneTrayWeight), 2).PadLeft(32, '0').ToString().Substring(k, 16), 2);
             }
-            for (int b = 15; b <= 16; b++) num[b] = 0;// 鍙犲寘鍚庡疄闄呴噸閲�&& 澶嶇О缁撴灉 榛樿锛�
+            for (int b = 15; b <= 16; b++)
+            {
+                var arrTwo = machineInfoTwo.oneTrayWeightFC.Split(',').ToList();
+                num[b] = int.Parse(arrTwo[b - 15]);//澶嶇О閲嶉噺
+            }
+            //for (int b = 15; b <= 16; b++) num[b] = 0;// 鍙犲寘鍚庡疄闄呴噸閲�&& 澶嶇О缁撴灉 榛樿锛�
             num[17] = int.Parse(machineInfoTwo.trayType);
 
             num[18] = machine.addState;//鏄惁闇�鍙犲寘
@@ -1388,69 +1370,96 @@
             var plc = Settings.GetPlcInfo().Where(a => a.deviceType == ip).FirstOrDefault();
             if(plc != null)
             {
-                OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
+                if(plc.deviceType == "23")
                 {
-                    addr = plc.writeAddr + 1,
-                    host = plc.ip,
-                    data = 2,//4
-                    port = plc.port
-                });
-                Thread.Sleep(100);
-                var readres = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
-                {
-                    dataNum = 2,
-                    addr = plc.readAddr + 1,
-                    host = plc.ip,
-                    port = plc.port
-                });
-                if (readres != null)
-                {
-                    var taskInfo = MongoDBSingleton.Instance.FindOne<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), "TN_I_TASK_MST");
-                    if (readres.result[0] == 3 && readres.result[1] == 1)
+                    var wirte = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
                     {
-                        CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊�銆�);
-                        //璇荤爜淇℃伅姣斿缁撴灉锛歄K           璇诲埌閫氶亾2鍙傛暟涓�鏃�灏忚溅灏嗘墭鐩樻斁缃湪鍙犵洏鏈轰笂锛堟敼鍙傛暟10涓�锛�-                        var wirte = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
+                        addr = plc.writeAddr + 1,
+                        host = plc.ip,
+                        data = 3,
+                        port = plc.port
+                    });
+                    if (wirte.errCode == 0)
+                    {
+                        var taskInfo = MongoDBSingleton.Instance.FindOne<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), "TN_I_TASK_MST");
+                        MongoDBSingleton.Instance.Remove<WMSInfo>(Query.EQ("trayCode", taskInfo.CN_S_BATCH_NO), RemoveFlags.Single);
+
+                        wirte = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
                         {
                             addr = plc.writeAddr + 1,
                             host = plc.ip,
-                            data = 3,//4
+                            data = 0,
                             port = plc.port
                         });
-                        if (wirte.errCode == 0)
+                        TSHelper.GoToAGV(taskNo, 10, 7);
+                    }
+                }
+                else
+                {
+                    OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
+                    {
+                        addr = plc.writeAddr + 1,
+                        host = plc.ip,
+                        data = 2,
+                        port = plc.port
+                    });
+                    var readres = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
+                    {
+                        dataNum = 2,
+                        addr = plc.readAddr + 1,
+                        host = plc.ip,
+                        port = plc.port
+                    });
+                    if (readres != null)
+                    {
+                        var taskInfo = MongoDBSingleton.Instance.FindOne<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), "TN_I_TASK_MST");
+                        if (readres.result[0] == 3 && readres.result[1] == 1)
                         {
-                            //骞跺垹闄MSInfo涓棿琛ㄤ腑瀵瑰簲鎵樼洏鍙风殑鏁版嵁锛堜篃鍙湪灏忚溅绂诲紑鍙犵洏鏈轰箣鍚庡垹闄わ紝鏆傚畾閫氶亾2鍙傛暟1锛�-                            CMMLog.Debug($"璇荤爜淇℃伅姣斿缁撴灉锛歄K ,骞跺垹闄MSInfo涓棿琛ㄤ腑瀵瑰簲鎵樼洏鍙风殑鏁版嵁");
-                            MongoDBSingleton.Instance.Remove<WMSInfo>(Query.EQ("trayCode", taskInfo.CN_S_BATCH_NO), RemoveFlags.Single);
-                            CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊�銆�);
-                            if (CacheStackingMouth8(plc))
+                            CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊�銆�);
+                            //璇荤爜淇℃伅姣斿缁撴灉锛歄K           璇诲埌閫氶亾2鍙傛暟涓�鏃�灏忚溅灏嗘墭鐩樻斁缃湪鍙犵洏鏈轰笂锛堟敼鍙傛暟10涓�锛�+                            var wirte = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel
                             {
-                                CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊兼垚鍔燂紝鏇存敼AGV鍙傛暟10涓�锛岃灏忚溅绂诲紑銆�);
-                                TSHelper.GoToAGV(taskNo, 10, 7);
+                                addr = plc.writeAddr + 1,
+                                host = plc.ip,
+                                data = 3,
+                                port = plc.port
+                            });
+                            if (wirte.errCode == 0)
+                            {
+                                //骞跺垹闄MSInfo涓棿琛ㄤ腑瀵瑰簲鎵樼洏鍙风殑鏁版嵁锛堜篃鍙湪灏忚溅绂诲紑鍙犵洏鏈轰箣鍚庡垹闄わ紝鏆傚畾閫氶亾2鍙傛暟1锛�+                                CMMLog.Debug($"璇荤爜淇℃伅姣斿缁撴灉锛歄K ,骞跺垹闄MSInfo涓棿琛ㄤ腑瀵瑰簲鎵樼洏鍙风殑鏁版嵁");
+                                MongoDBSingleton.Instance.Remove<WMSInfo>(Query.EQ("trayCode", taskInfo.CN_S_BATCH_NO), RemoveFlags.Single);
+                                CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊�銆�);
+                                if (CacheStackingMouth8(plc))
+                                {
+                                    CMMLog.Debug($"3妤肩紦瀛樻灦鍏ュ彔鎵極K锛歍askNo:{taskInfo.CN_S_TASK_NO},鍙犲寘OK鍐欏叆鍊兼垚鍔燂紝鏇存敼AGV鍙傛暟10涓�锛岃灏忚溅绂诲紑銆�);
+                                    TSHelper.GoToAGV(taskNo, 10, 7);
+                                }
                             }
                         }
-                    }
-                    else if (readres.result[0] == 3 && readres.result[1] == 2)
-                    {
-                        CMMLog.Debug($"璇荤爜淇℃伅姣斿缁撴灉锛氭潯鐮佷笌浼犻�鐨勬暟鎹笉涓�嚧");
-                        //浜屾湡--璋冪敤 WMS 鏀归亾鎺ュ彛 鑾峰彇 鐩爣鐐逛綅锛屽苟 鏇存敼 AGV 绔欑偣
-                        string ChangeBit = WMSHelper.WmsUpdateWay(taskInfo.CN_S_SOURCE_NO, plc.Extend);
-                        if (!string.IsNullOrEmpty(ChangeBit))
+                        else if (readres.result[0] == 3 && readres.result[1] == 2)
                         {
-                            int[] parms = { StockInstance.Instance.GetAGVCodeForBitCode(taskInfo.CN_S_END_BIT), StockInstance.Instance.GetAGVCodeForBitCode(ChangeBit) };
-                            TSHelper.ChangeParam(taskNo, 1, parms);
-                            TSHelper.GoToAGV(taskNo, 3, 1);// 娉板窞鏍兼灄缇庢洿鏀硅捣鐐瑰眰鏁颁负1-鑽嗛棬涔熼渶瑕佹洿鏀�+                            CMMLog.Debug($"璇荤爜淇℃伅姣斿缁撴灉锛氭潯鐮佷笌浼犻�鐨勬暟鎹笉涓�嚧");
+                            //浜屾湡--璋冪敤 WMS 鏀归亾鎺ュ彛 鑾峰彇 鐩爣鐐逛綅锛屽苟 鏇存敼 AGV 绔欑偣
+                            string ChangeBit = WMSHelper.WmsUpdateWay(taskInfo.CN_S_SOURCE_NO, plc.Extend);
+                            if (!string.IsNullOrEmpty(ChangeBit))
+                            {
+                                int[] parms = { StockInstance.Instance.GetAGVCodeForBitCode(taskInfo.CN_S_END_BIT), StockInstance.Instance.GetAGVCodeForBitCode(ChangeBit) };
+                                TSHelper.ChangeParam(taskNo, 1, parms);
+                                TSHelper.GoToAGV(taskNo, 3, 1);// 娉板窞鏍兼灄缇庢洿鏀硅捣鐐瑰眰鏁颁负1-鑽嗛棬涔熼渶瑕佹洿鏀� 
-                            //TSHelper.ChangeParam(taskNo, 1, StockInstance.Instance.GetAGVCodeForBitCode(taskInfo.CN_S_END_BIT));
-                            //TSHelper.ChangeParam(taskNo, 2, StockInstance.Instance.GetAGVCodeForBitCode(ChangeBit));
-                            TSHelper.GoToAGV(taskNo, 10, 8);
-                            MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), Update.Set("CN_S_END_BIT", ChangeBit).Set("CN_S_START_BIT", taskInfo.CN_S_END_BIT), "TN_I_TASK_MST", UpdateFlags.None);
+                                //TSHelper.ChangeParam(taskNo, 1, StockInstance.Instance.GetAGVCodeForBitCode(taskInfo.CN_S_END_BIT));
+                                //TSHelper.ChangeParam(taskNo, 2, StockInstance.Instance.GetAGVCodeForBitCode(ChangeBit));
+                                TSHelper.GoToAGV(taskNo, 10, 8);
+                                MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", taskNo), Update.Set("CN_S_END_BIT", ChangeBit).Set("CN_S_START_BIT", taskInfo.CN_S_END_BIT), "TN_I_TASK_MST", UpdateFlags.None);
+                            }
+                            else CMMLog.Debug($"璋冪敤WMS鏀归亾鎺ュ彛锛屾湭鑾峰彇鍒板彲鐢ㄧ偣浣嶃�");
+                            Console.WriteLine($"璇荤爜淇℃伅姣斿缁撴灉锛氭潯鐮佷笌浼犻�鐨勬暟鎹笉涓�嚧");
                         }
-                        else CMMLog.Debug($"璋冪敤WMS鏀归亾鎺ュ彛锛屾湭鑾峰彇鍒板彲鐢ㄧ偣浣嶃�");
-                        Console.WriteLine($"璇荤爜淇℃伅姣斿缁撴灉锛氭潯鐮佷笌浼犻�鐨勬暟鎹笉涓�嚧");
+                        //PLCControl.CacheStackingMouth6(plc);
                     }
-                    //PLCControl.CacheStackingMouth6(plc);
                 }
+                
             }
         }
 
@@ -2742,7 +2751,7 @@
         /// <param name="info"></param>
         /// <param name="result"></param>
         /// <param name="noPack">true : MES浜や簰鏂瑰紡  false : 鏃燤ES浜や簰鏂瑰紡</param>
-        private static void GetMachineDataTetracobalt(int[] result ,bool noPack = true)
+        private static void GetMachineDataTetracobalt(int[] result, ref string timeStamp, bool noPack = true)
         {
             CMMLog.Info($"鏁版嵁澶勭悊娴佺▼锛氳繘鍏ユ暟鎹鐞嗘祦绋嬶紒");
             
@@ -2792,7 +2801,7 @@
                     info.addState = Convert.ToInt32(Completion(result[18]), 2);
                     if (info.addState == 0) CMMLog.Error($"鏁版嵁澶勭悊娴佺▼锛氳幏鍙朚ODBUS淇℃伅寮傚父:鏄惁鍙犲寘鍊间负0.");
                     info.packageCode = Convert.ToInt32(Completion(result[19]), 2).ToString();
-                    info.productTime = Convert.ToInt32(Completion(result[21]) + Completion(result[22]), 2).ToString();
+                    info.productTime = Convert.ToInt32(Completion(result[20]) + Completion(result[21]), 2).ToString();
 
                     //info.addWeight = Convert.ToInt32(Completion(result[10]) + Completion(result[11]), 2).ToString();
                     //info.packNg = 1;//涓嶉渶瑕佹鍙傛暟 result[12]
@@ -2847,18 +2856,22 @@
                         //娉ㄦ剰锛氳繖閲岃祴鍊间腑闂磋〃鍙傛暟璇峰鐓т俊鎭氦浜掕〃鍏蜂綋閫氶亾鍊煎搴�                         UpdateBuilder update = Update.Set("palletLayers", info.secondNg.ToString()).Set("overlappingLayers", info.addState.ToString()).Set("bagNo", info.packageCode).
                             Set("lotNo", info.lotNo).Set("productType", info.productType).Set("materialCode", info.materialCode).Set("materialName", info.materialName).Set("measurementUnit", info.measurementUnit);
-                        MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(Query.EQ("machineNo", location), update, "MachiMachineInfoTetracobaltneInfo", UpdateFlags.None);
+                        MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(Query.EQ("machineNo", location), update, "MachineInfoTetracobalt", UpdateFlags.None);
                         MongoDBSingleton.Instance.Update<MachineInfoTwoTetracobalt>(Query.EQ("trayCode", trayCode), update, "MachineInfoTwoTetracobalt", UpdateFlags.None);
                     }
                     //鍦ㄤ腑闂磋〃涓壘鍒板垰鍒氭彃鍏ョ殑MES鏁版嵁锛堢洰鍓嶈繕娌℃湁璇诲彇骞跺啓鍏ヨ澶囨暟鎹級
+
+                    timeStamp = ProcessHelper.GetTimeStamp(31, 1, 1);
+                    trayCode = "VW" + timeStamp;
+
                     var query1 = Query.And(Query.EQ("machineNo", location), Query.EQ("trayCode", "0"));
                     UpdateBuilder updateBuider = Update.Set("empCode", info.empCode).Set("location", info.location).
-                        Set("trayCode", info.trayCode).Set("productWeight", info.productWeight).
+                        Set("trayCode", trayCode).Set("productWeight", info.productWeight).
                         Set("trayCodeWeight", info.trayCodeWeight).Set("oneTrayWeight", info.oneTrayWeight).Set("trayType", info.trayType).Set("addState", info.addState).
-                        Set("addWeight", info.addWeight).Set("packNg", info.packNg).Set("secondNg", info.secondNg).Set("productTime", info.productTime).
+                        Set("addWeight", info.addWeight).Set("packNg", info.packNg).Set("secondNg", info.secondNg).Set("productTime", info.productTime).Set("packageCode", info.packageCode).
                         Set("jsonData", json).Set("modify", DateTime.Now);
                     MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(query1, updateBuider, "MachineInfoTetracobalt", UpdateFlags.None);
-                    MongoDBSingleton.Instance.Update<MachineInfoTwoTetracobalt>(Query.EQ("trayCode", trayCode), updateBuider, "MachineInfoTwoTetracobalt", UpdateFlags.None);
+                    MongoDBSingleton.Instance.Update<MachineInfoTwoTetracobalt>(query1, updateBuider, "MachineInfoTwoTetracobalt", UpdateFlags.None);
                     CMMLog.Info($"鏁版嵁澶勭悊娴佺▼锛氭洿鏂癕achineInfoTetracobalt涓棿琛ㄥ垰鍒氭彃鍏ョ殑MES鏁版嵁!璁惧鍙蜂负锛歿location},鎵樼洏鍙蜂负锛歿trayCode}");
                 }
                 else
@@ -3705,7 +3718,8 @@
                                                 if (trayCode.errCode == 0 && trayCode.result.Length == 105)
                                                 {
                                                     //鑾峰彇鎵樼洏鐮佺瓑淇℃伅  璇诲彇閫氶亾 11銆�2銆�3鐨勬暟鎹綔涓烘墭鐩樼爜   璇诲彇鍏跺畠閫氶亾 閲嶉噺 鍙犲寘绛変俊鎭�鎵�湁鏁版嵁瀛樺叆MachineInfo琛�-                                                    GetMachineDataTetracobalt(trayCode.result, false);
+                                                    string timeStamp = "";
+                                                    GetMachineDataTetracobalt(trayCode.result, ref timeStamp, false);
                                                     var tray = MongoDBSingleton.Instance.FindOne<MachineInfoTetracobalt>(Query.EQ("machineNo", pmInfo.location), "MachineInfoTetracobalt");
                                                     if (tray != null)
                                                     {
@@ -3723,9 +3737,10 @@
 
                                                         if (IsContLaterCode)
                                                         {
-                                                            string timeStamp = ProcessHelper.GetTimeStamp(31, 1, 1);
-                                                            tray.trayCode = "VW" + timeStamp;
-                                                            MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(Query.EQ("_id", tray._id), Update.Set("trayCode", tray.trayCode), UpdateFlags.None);
+                                                            //string timeStamp = ProcessHelper.GetTimeStamp(31, 1, 1);
+                                                            //tray.trayCode = "VW" + timeStamp;
+                                                            //MongoDBSingleton.Instance.Update<MachineInfoTetracobalt>(Query.EQ("_id", tray._id), Update.Set("trayCode", tray.trayCode), UpdateFlags.None);
+                                                            //MongoDBSingleton.Instance.Update<MachineInfoTwoTetracobalt>(Query.EQ("_id", tray._id), Update.Set("trayCode", tray.trayCode), UpdateFlags.None);
                                                             CMMLog.Debug($"锛堝洓閽磋溅闂达級鍖呰涓嬬嚎娴佺▼-{pmInfo.location}锛氭墭鐩樼爜锛歿tray.trayCode}");
                                                             if (tray.addState == 0)
                                                             {
@@ -4066,7 +4081,7 @@
             {
                 if (action)
                 {
-                    int[] num = new int[4] { 2, 0, 1, 1 };
+                    int[] num = new int[4] { 2, 0, 0, 1 };
                     var writeRes = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti
                     {
                         host = plc.ip,
@@ -4086,7 +4101,7 @@
                     CMMLog.Debug($"鏌ヨ璁惧{plc.location}閫氶亾{plc.readAddr}閲岄潰鏁版嵁涓簕result.result[0]}銆亄result.result[1]}銆亄result.result[3]}.");
                     if (result != null && result.errCode == 0)
                     {
-                        if (result.result[0] == 2 && result.result[1] == 2 && result.result[2] == 2)
+                        if (result.result[0] == 2 && result.result[1] == 2 && result.result[3] == 2)
                         {
                             //鎺ㄩ�灏忚溅杩涘叆
                             TSHelper.GoToAGV(taskNo, 10, 3);
diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
index c65ff93..7222b46 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs
@@ -406,6 +406,7 @@
                     result = true;
                 }
             }
+
             var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault();
             if (bussTypeInfo != null)
             {
@@ -593,7 +594,6 @@
             //鍏ュ簱杈撻�绾夸笂鏈変袱涓緭閫佸彛
 
             //鍒ゆ柇杈撻�绾挎ā寮忓拰涓棿琛ㄦā寮忛兘鏄叆搴撴ā寮�-
             try
             {
                 string endMachLoc = "";
@@ -612,7 +612,7 @@
                     });
                     if (modeResult != null && modeResult.errCode == 0)
                     {
-                        CMMLog.Debug($"InWareTask锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr}鐨勫�涓猴細{modeResult.result[0]}");
+                        CMMLog.Debug($"InWareTask锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr}鐨勫�涓猴細{JsonConvert.SerializeObject(modeResult.result)}");
                         if (modeResult.result[0] == 1)
                         {
                             action = false;
diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/WMSHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/WMSHelper.cs
index a45cbfd..e38c750 100644
--- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/WMSHelper.cs
+++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/WMSHelper.cs
@@ -576,11 +576,11 @@
                         {
                             int timeInt = int.Parse(trayCode);
                             var time = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("timeStamp", timeInt), "TimeCuoInfoCom");
-                            CMMLog.Info($"WMSIn-{startBit}:{ItemCode}锛氭煡璇㈡潯浠讹細timeStamp={timeInt},璇诲嚭 TimeCuoInfoCom 琛ㄦ暟鎹负锛歿JsonConvert.SerializeObject(time)}");
+                            CMMLog.Info($"WMSInTwo-{startBit}:{ItemCode}锛氭煡璇㈡潯浠讹細timeStamp={timeInt},璇诲嚭 TimeCuoInfoCom 琛ㄦ暟鎹负锛歿JsonConvert.SerializeObject(time)}");
                             if (ItemCode == "time" && time != null)
                             {
                                 int TimeStamp = string.IsNullOrEmpty(timeStamp) ? time.timeStamp : int.Parse(timeStamp);
-                                CMMLog.Info($"WMSIn-{startBit}:time鑾峰彇鏃堕棿鎴虫暟鎹负锛歿TimeStamp}锛�);
+                                CMMLog.Info($"WMSInTwo-{startBit}:time鑾峰彇鏃堕棿鎴虫暟鎹负锛歿TimeStamp}锛�);
                                 model.data.Add(new ItemData()
                                 {
                                     //1妤兼媶鐩樻満璋僕MS鑾峰彇鍏ュ簱缁堢偣锛屼紶杈撴椂闂存埑鏁版嵁锛堟殏瀹氾級
@@ -612,7 +612,7 @@
                                 // 闈濫RP鍙樻洿娴佺▼鍙互鐩存帴鍒犻櫎 TimeCuoInfoCom 琛�                                 if (ERPService.ERPSwitch01 == "0")
                                 {
-                                    CMMLog.Info($"WMSIn-{startBit}:鏌ヨ鏉′欢锛歵imeStamp={timeInt},闈濫RP鍙樻洿娴佺▼鐩存帴鍒犻櫎 TimeCuoInfoCom 琛紒");
+                                    CMMLog.Info($"WMSInTwo-{startBit}:鏌ヨ鏉′欢锛歵imeStamp={timeInt},闈濫RP鍙樻洿娴佺▼鐩存帴鍒犻櫎 TimeCuoInfoCom 琛紒");
                                     MongoDBSingleton.Instance.Remove<TimeCuoInfoCom>(Query.EQ("timeStamp", timeInt), RemoveFlags.Single);
                                 }
                             }
@@ -645,10 +645,10 @@
                         else
                         {
                             var time = MongoDBSingleton.Instance.FindOne<TimeCuoInfoComTwo>(Query.EQ("timeStamp", timeStamp), "TimeCuoInfoCom");
-                            CMMLog.Info($"WMSIn-{startBit}:{ItemCode}锛氭煡璇㈡潯浠讹細timeStamp={timeStamp},璇诲嚭 TimeCuoInfoComTwo 琛ㄦ暟鎹负锛歿JsonConvert.SerializeObject(time)}");
+                            CMMLog.Info($"WMSInTwo-{startBit}:{ItemCode}锛氭煡璇㈡潯浠讹細timeStamp={timeStamp},璇诲嚭 TimeCuoInfoComTwo 琛ㄦ暟鎹负锛歿JsonConvert.SerializeObject(time)}");
                             if (ItemCode == "time" && time != null)
                             {
-                                CMMLog.Info($"WMSIn-{startBit}:time鑾峰彇鏃堕棿鎴虫暟鎹负锛歿time.TimeCuo}锛�);
+                                CMMLog.Info($"WMSInTwo-{startBit}:time鑾峰彇鏃堕棿鎴虫暟鎹负锛歿time.TimeCuo}锛�);
                                 model.data.Add(new ItemData()
                                 {
                                     //1妤兼媶鐩樻満璋僕MS鑾峰彇鍏ュ簱缁堢偣锛屼紶杈撴椂闂存埑鏁版嵁锛堟殏瀹氾級
@@ -724,14 +724,14 @@
                 string reqStr = "鐗╂枡鍚�" + ItemCode + ";鏁伴噺";
                 string feedback = "";
 
-                CMMLog.Info($"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆�鍙戦�鏁版嵁锛歿JsonConvert.SerializeObject(msgData)}锛岀墿鏂欐潯浠讹細ItemCode锛歿ItemCode},trayCode锛歿trayCode}");
+                CMMLog.Info($"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆�鍙戦�鏁版嵁锛歿JsonConvert.SerializeObject(msgData)}锛岀墿鏂欐潯浠讹細ItemCode锛歿ItemCode},trayCode锛歿trayCode}");
                 var url = hao.WebUrl + "GlmInSendTask";
                 try
                 {
                     //hao.WebUrl = "http://192.168.1.199:9001/api/";
                     feedback = helper.WebPost(url, msgData).Replace(@"\", "").Trim();
                     Console.WriteLine(feedback);
-                    CMMLog.Info($"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆�鎺ユ敹鏁版嵁锛� + feedback);
+                    CMMLog.Info($"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆�鎺ユ敹鏁版嵁锛� + feedback);
                     if (!string.IsNullOrEmpty(feedback))
                     {
                         //var wmsResponse = JsonConvert.DeserializeObject<WMSResponseModel>(feedback.Substring(1, feedback.Length - 2));
@@ -739,28 +739,28 @@
                         //var res = feedback.Replace("{", "").Replace("}", "").Replace(":", "=").Replace(",", ";").Replace('"', ' ');
                         if (wmsResponse.Success == true)
                         {
-                            msg = $"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戞垚鍔燂紒杩斿洖缁撴灉=" + wmsResponse.Success + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
+                            msg = $"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戞垚鍔燂紒杩斿洖缁撴灉=" + wmsResponse.Success + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
                         }
                         else
                         {
                             string errMsg = wmsResponse.Code + "-" + wmsResponse.Msg;
-                            msg = $"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒閿欒鍘熷洜=" + errMsg + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
+                            msg = $"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒閿欒鍘熷洜=" + errMsg + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
                         }
                         result = wmsResponse.Success;
                     }
                     else
                     {
                         string errMsg = "鍙傛暟鍙嶉绌哄�";
-                        msg = $"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒閿欒鍘熷洜=" + errMsg + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
+                        msg = $"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒閿欒鍘熷洜=" + errMsg + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
                     }
                 }
                 catch (Exception e)
                 {
-                    CMMLog.Error(string.Format($"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅澶辫触銆戝紓甯竰0}", e.Message), e);
-                    msg = $"WMSIn-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒瑙f瀽杩斿洖鍊煎嚭閿�" + feedback + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
+                    CMMLog.Error(string.Format($"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅澶辫触銆戝紓甯竰0}", e.Message), e);
+                    msg = $"WMSInTwo-{startBit}:銆愯皟鐢╳ms鑾峰彇鍏ュ簱璐т綅銆戝け璐ワ紒瑙f瀽杩斿洖鍊煎嚭閿�" + feedback + ";璋冪敤WebUrl=" + url + ";杈撳叆鍙傛暟=" + msgData;
                 }
             }
-            else msg = string.Format($"WMSIn-{startBit}:璋冪敤wms澶辫触锛宎ms宸ヤ綔涓績娌℃湁璁剧疆锛�);
+            else msg = string.Format($"WMSInTwo-{startBit}:璋冪敤wms澶辫触锛宎ms宸ヤ綔涓績娌℃湁璁剧疆锛�);
             CMMLog.Info(msg);
             Console.WriteLine(msg);
             return result;

--
Gitblit v1.9.1