From e3d6e8ddbfc930db88bef1e7f170ddfe71b06cf1 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期五, 04 七月 2025 17:25:43 +0800 Subject: [PATCH] 1 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs | 158 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 111 insertions(+), 47 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs index 7298a28..6529bb7 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs @@ -731,7 +731,7 @@ internal static void PickUpFullDoorComplete(string ip, string taskNo) { var plc = Settings.GetPlcInfo().Where(a => a.ip == ip).FirstOrDefault(); - if (plc != null && !plc.location.Contains("FLZT")) + if (plc != null) { if (plc.location.Contains("FLZT")) { @@ -755,7 +755,7 @@ data = 3, port = plc.port }); - CMMLog.Debug($"鍐欏叆璁惧{plc.location}閫氶亾{plc.writeAddr + 1}閲岄潰鏁版嵁涓�."); + CMMLog.Debug($"鍐欏叆璁惧{plc.location}閫氶亾{plc.writeAddr + 1}閲岄潰鏁版嵁涓�."); } } @@ -3978,6 +3978,38 @@ } } + /// <summary> + /// 鐢甸挻鎺ラ┏浣嶅叆绔嬪簱浠诲姟 + /// </summary> + /// <param name="locCode"></param> + internal static void DGInWarehouse(string locCode) + { + try + { + var locInfo = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", locCode), "DGConnectingBits"); + if (locInfo != null) + { + 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) + { + CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + } + else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); + } + } + } + catch (Exception ex) + { + CMMLog.Info("DGInWarehouse" + ex.Message); + } + } + internal static void outWare(string taskNo,bool flage) { var plc = Settings.GetPlcInfo().Where(a => a.Extend == "2" && a.enable == 1).FirstOrDefault(); @@ -4493,7 +4525,7 @@ } /// <summary> - /// 鍥涢挻A锛堟礂鏉跨儤骞叉満缁勶級璁惧涓婄┖涓嬫弧 + /// 鐢甸挻A锛堟礂鏉跨儤骞叉満缁勶級璁惧涓婄┖涓嬫弧 /// </summary> /// <param name="plc"></param> /// <exception cref="NotImplementedException"></exception> @@ -4516,8 +4548,8 @@ { //閫佺┖ bool req = WMSHelper.WMSOut(plc.location, "", ""); - if (req) CMMLog.Debug($"鍥涢挻A璁惧 璋冪敤WMS鑾峰彇绌烘墭鍑哄簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 - else CMMLog.Debug($"鍥涢挻A璁惧 璋冪敤WMS鑾峰彇绌烘墭鍑哄簱鐢熸垚浠诲姟澶辫触锛�); + if (req) CMMLog.Debug($"鐢甸挻A璁惧 璋冪敤WMS鑾峰彇绌烘墭鍑哄簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 + else CMMLog.Debug($"鐢甸挻A璁惧 璋冪敤WMS鑾峰彇绌烘墭鍑哄簱鐢熸垚浠诲姟澶辫触锛�); } if (result.result[0] == 2) { @@ -4525,20 +4557,20 @@ string wmstaskno = ""; string traycode = ""; bool req = WMSHelper.WMSIn(plc.location, "", ref wmstaskno, ref traycode); - if (req) CMMLog.Debug($"鍥涢挻A璁惧 璋冪敤WMS鑾峰彇婊℃墭鍏ュ簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 - else CMMLog.Debug($"鍥涢挻A璁惧 璋冪敤WMS鑾峰彇婊℃墭鍏ュ簱鐢熸垚浠诲姟澶辫触锛�); + if (req) CMMLog.Debug($"鐢甸挻A璁惧 璋冪敤WMS鑾峰彇婊℃墭鍏ュ簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 + else CMMLog.Debug($"鐢甸挻A璁惧 璋冪敤WMS鑾峰彇婊℃墭鍏ュ簱鐢熸垚浠诲姟澶辫触锛�); } } } catch (Exception ex) { - CMMLog.Info($"鍥涢挻A璁惧 err:{ex.Message}"); + CMMLog.Info($"鐢甸挻A璁惧 err:{ex.Message}"); } } } /// <summary> - /// 鍥涢挻C锛堥挻鏉垮壀鍒囨満缁勶級璁惧涓婃弧涓嬬┖ + /// 鐢甸挻C锛堥挻鏉垮壀鍒囨満缁勶級璁惧涓婃弧涓嬬┖ /// </summary> /// <param name="a"></param> /// <exception cref="NotImplementedException"></exception> @@ -4561,8 +4593,8 @@ { //閫佹弧 bool req = WMSHelper.WMSOut(plc.location, "", ""); - if (req) CMMLog.Debug($"鍥涢挻C璁惧 璋冪敤WMS鑾峰彇婊℃墭鍑哄簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 - else CMMLog.Debug($"鍥涢挻C璁惧 璋冪敤WMS鑾峰彇婊℃墭鍑哄簱鐢熸垚浠诲姟澶辫触锛�); + if (req) CMMLog.Debug($"鐢甸挻C璁惧 璋冪敤WMS鑾峰彇婊℃墭鍑哄簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 + else CMMLog.Debug($"鐢甸挻C璁惧 璋冪敤WMS鑾峰彇婊℃墭鍑哄簱鐢熸垚浠诲姟澶辫触锛�); } if (result.result[0] == 2) { @@ -4570,14 +4602,14 @@ string wmstaskno = ""; string traycode = ""; bool req = WMSHelper.WMSIn(plc.location, "", ref wmstaskno, ref traycode); - if (req) CMMLog.Debug($"鍥涢挻C璁惧 璋冪敤WMS鑾峰彇绌烘墭鍏ュ簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 - else CMMLog.Debug($"鍥涢挻C璁惧 璋冪敤WMS鑾峰彇绌烘墭鍏ュ簱鐢熸垚浠诲姟澶辫触锛�); + if (req) CMMLog.Debug($"鐢甸挻C璁惧 璋冪敤WMS鑾峰彇绌烘墭鍏ュ簱鐢熸垚浠诲姟鎴愬姛锛�);//鐜板湪浠诲姟鐢盬MS鑷繁涓嬪彂锛孉MS鍋氭嫤鎴鐞嗭紙鏌ヨext1閲岄潰瀵瑰簲鐨勪换鍔$被鍨嬶紝骞舵洿鏀逛换鍔$被鍨嬶級 + else CMMLog.Debug($"鐢甸挻C璁惧 璋冪敤WMS鑾峰彇绌烘墭鍏ュ簱鐢熸垚浠诲姟澶辫触锛�); } } } catch (Exception ex) { - CMMLog.Info($"鍥涢挻C璁惧 err:{ex.Message}"); + CMMLog.Info($"鐢甸挻C璁惧 err:{ex.Message}"); } } } @@ -4607,7 +4639,7 @@ if (result.result[0] == 1) { //鎺ㄩ�灏忚溅杩涘叆 - TSHelper.GoToAGV(taskNo, 10, 3); + TSHelper.GoToAGV(taskNo, 10, 1); writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel { host = plc.ip, @@ -4695,65 +4727,78 @@ host = plc.ip, port = plc.port }); + CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細璇诲彇閫氶亾鍙蜂负锛歿plc.readAddr},ip:{plc.ip},绔彛锛歿plc.port}"); + CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾垮�涓猴細{result.result[0]}"); if (result != null && result.errCode == 0) { if (result.result[0] == 1) { //鎴愬搧涓嬬嚎浠诲姟鐢熸垚鍒版帴椹冲钩鍙�- string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", ""); - //鍙敓鎴愪换鍔�- var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); - if (CBInfo != null) + string traycode = ""; + var DGinfoList = MongoDBSingleton.Instance.FindAll<DGPackingLineFullModel>("DGPackingLineFullModel"); + if (DGinfoList.Count > 0) { - //string timeStamp = timecuo.data.First().timeStamp.ToString(); - string timeStamp = ""; - foreach (var a in CBInfo) + var DGinfo = DGinfoList.Where(a => a.isUse == "0").OrderBy(a => a.createTime).First(); + //灏嗘暟鎹彃鍏ヤ腑闂磋〃 + traycode = DGinfo.trayCode; + } + //鍙敓鎴愪换鍔�+ CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾�鑾峰彇鎵樼洏鍙凤細{traycode}"); + if (!string.IsNullOrEmpty(traycode)) + { + var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList(); + if (CBInfo != null) { - if (!string.IsNullOrEmpty(a.locCode)) + foreach (var a in CBInfo) { - //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�- var CBTable = MongoDBSingleton.Instance.FindOne<ConnectingBits>(Query.EQ("Bit", a.locCode), "ConnectingBits"); - if (CBTable != null) + if (!string.IsNullOrEmpty(a.locCode)) { - if (string.IsNullOrEmpty(CBTable.trayCode)) + //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+ var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits"); + if (CBTable != null) + { + if (string.IsNullOrEmpty(CBTable.trayCode)) + { + //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�+ var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode); + if (amsResult.success) + { + CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode), UpdateFlags.None); + MongoDBSingleton.Instance.Update<DGPackingLineFullModel>(Query.EQ("trayCode", traycode), Update.Set("isUse", "1"), UpdateFlags.None); + break; + } + else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); + } + } + else { //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛� var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode); if (amsResult.success) { CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�); - MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeStamp), UpdateFlags.None); + //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹� + MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0" }); + MongoDBSingleton.Instance.Update<DGPackingLineFullModel>(Query.EQ("trayCode", traycode), Update.Set("isUse", "1"), UpdateFlags.None); break; } else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); } } - else - { - //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�- var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), plc.location, a.locCode, "鍖呰鏈烘弧鎵樹笅绾�, 0, traycode); - if (amsResult.success) - { - CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API鎴愬姛锛�); - //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�- - MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeStamp }); - break; - } - else CMMLog.Debug($"鍖呰鏈烘弧鎵樹笅绾匡細AMS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); - } + else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�); } - else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�); } + else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�); } - else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�); + } } } catch (Exception ex) { - CMMLog.Info($"鍥涢挻C璁惧 err:{ex.Message}"); + CMMLog.Info($"鐢甸挻C璁惧 err:{ex.Message}"); } } } @@ -4802,14 +4847,33 @@ public string Msg { get; set; } public LKData Data { get; set; } public int AffectedRows { get; set; } - public bool Success { get; set; } } public class LKData { + /// <summary> + /// 鎵规鍙�+ /// </summary> public string CN_S_LOT_NO { get; set; } - public int CN_S_EXT8 { get; set; } + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + public string CN_S_ITEM_CODE { get; set; } + /// <summary> + /// 妗堕噸閲�+ /// </summary> + public float CN_F_QUANTITY { get; set; } + /// <summary> + /// 妗舵暟閲�+ /// </summary> + public int CN_N_CONUT { get; set; } + /// <summary> + /// 鐢熶骇鏃ユ湡 + /// </summary> + public string CN_T_PRODUCTION_S { get; set; } + + public string CN_S_EXT8 { get; set; } } #endregion -- Gitblit v1.9.1