From b7cf29b366aa2afb5fada4b340bac268c1bb1534 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 12 六月 2025 17:34:02 +0800 Subject: [PATCH] 123 --- ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs | 42 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 38 insertions(+), 4 deletions(-) diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs index 16352e4..237f2cb 100644 --- a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs +++ b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs @@ -132,6 +132,14 @@ string TRow = string.IsNullOrEmpty(end.CN_S_FLOOR) ? "1" : end.CN_S_FLOOR; CMMLog.Info($"浠诲姟鎺ㄩ�锛氳揣浣嶇紪鐮侊細璧风偣淇℃伅:{JsonConvert.SerializeObject(start)},缁堢偣淇℃伅:{JsonConvert.SerializeObject(end)}锛涗换鍔′俊鎭細{JsonConvert.SerializeObject(mst)}"); + 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 = 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}"); + } + if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋�) { CMMLog.Info($"浠诲姟鎺ㄩ�鐗规畩浠诲姟澶勭悊-3妤煎绉板叆缂撳瓨鏋讹細浠诲姟鍙凤細{mst.CN_S_TASK_NO},鍑嗗鑾峰彇 sendBit 閰嶇疆鏁版嵁銆傚娉細姝や换鍔$被鍨嬩粎鑾峰彇璧风偣銆�); @@ -154,6 +162,10 @@ if (emp != null) { start.CN_N_AGV_LOCATION = agvLoc.Site[emp.Quantity - 1]; + } + if(agvLoc.trayType == 2) + { + 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; } } } @@ -242,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); } } } @@ -394,6 +407,7 @@ result = true; } } + var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault(); if (bussTypeInfo != null) { @@ -458,7 +472,7 @@ { #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴 bool action = true; - plc.ForEach(a => + foreach(var a in plc) { var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel { @@ -474,6 +488,7 @@ { action = false; CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}"); + break; } else { @@ -485,6 +500,18 @@ { action = false; CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡"); + + } + else + { + 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 @@ -494,7 +521,7 @@ } } } - }); + }; if (!action) { return false; @@ -581,7 +608,6 @@ //鍏ュ簱杈撻�绾夸笂鏈変袱涓緭閫佸彛 //鍒ゆ柇杈撻�绾挎ā寮忓拰涓棿琛ㄦā寮忛兘鏄叆搴撴ā寮�- try { string endMachLoc = ""; @@ -600,7 +626,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; @@ -619,6 +645,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