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