From 8ab19ae17dc98d3c79f87ca54aa4cdc75d174b12 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期三, 18 六月 2025 17:10:30 +0800 Subject: [PATCH] 111 --- ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs | 65 ++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 17 deletions(-) diff --git a/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.TaizhouGEMTwoProtocol/ProcessHelper.cs index 16352e4..7a1afca 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,mst.CN_S_TASK_NO); } } } @@ -288,7 +301,7 @@ //if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋�) PLCControl.SecondWeightInCache1012(plc.deviceType, mst.CN_S_TASK_NO);//浜屾湡锛氱洿鎺ユ敼鍙傛暟 if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) TSHelper.GoToAGV(mst.CN_S_TASK_NO, 10, 1); if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingReqUnload(plc.deviceType, mst.CN_S_TASK_NO); - if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO); + if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO,plc.port); if (mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍏ュ簱") PLCControl.productInWare(mst.CN_S_START_BIT, mst.CN_S_TASK_NO, true); } if (code == 4) @@ -297,7 +310,7 @@ if (mst.CN_S_BUSS_TYPE.Contains("3妤煎寘瑁呭彇鏂�)) PLCControl.PickUpFullDoorComplete(plc.ip, mst.CN_S_TASK_NO); if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G") PLCControl.SecondWeightInCache4(plc.deviceType, mst.CN_S_TASK_NO); if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingComplete(plc.deviceType, mst.CN_S_TASK_NO); - if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO); + if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO,plc.port); if (mst.CN_S_BUSS_TYPE != "3妤煎寘瑁呭彇鏂�) WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, 4); if (mst.CN_S_BUSS_TYPE == "鍥涢挻杈呮潗鍏ュ簱") PLCControl.productInWare(mst.CN_S_START_BIT, mst.CN_S_TASK_NO, false); } @@ -394,6 +407,7 @@ result = true; } } + var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault(); if (bussTypeInfo != null) { @@ -451,15 +465,14 @@ try { string endMachLoc = ""; - string endLoc = ""; //1銆佸垽鏂笂鏂欏钩鍙版槸鍚︾┖闂诧紝鑻ョ┖闂叉洿鏀圭粓鐐瑰埌涓婃枡骞冲彴 - var plc = Settings.GetPlcInfo().Where(a => a.deviceType == "18" && a.enable == 1).ToList(); + var plc = Settings.GetPlcInfo().Where(a => a.deviceType == "51" && a.enable == 1).ToList(); if (plc.Count > 0) { #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴 - bool action = true; - plc.ForEach(a => + foreach(var a in plc) { + bool action = false; var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel { dataNum = 1, @@ -469,11 +482,11 @@ }); if (modeResult != null && modeResult.errCode == 0) { - CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr}鐨勫�涓猴細{modeResult.result[0]}"); + CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満ip:{a.ip},绔彛锛歿a.port}閫氶亾鍙蜂负锛歿a.readAddr}鐨勫�涓猴細{modeResult.result[0]}"); if (modeResult.result[0] == 2) { - action = false; CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}"); + break; } else { @@ -483,22 +496,33 @@ { if (modelInfo.Mode == "鍏ュ簱妯″紡") { - action = false; CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡"); + } + else + { + action = true; + 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 { - action = false; CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖"); } } } - }); - if (!action) - { - return false; - } + if (!action) + { + return false; + } + }; + #endregion CMMLog.Info($"OutWareTask 11111"); @@ -581,7 +605,6 @@ //鍏ュ簱杈撻�绾夸笂鏈変袱涓緭閫佸彛 //鍒ゆ柇杈撻�绾挎ā寮忓拰涓棿琛ㄦā寮忛兘鏄叆搴撴ā寮�- try { string endMachLoc = ""; @@ -600,7 +623,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 +642,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