From ff48949f706e899725c1ef7d0426c12c2b3e674f Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 17 七月 2025 17:18:16 +0800 Subject: [PATCH] 1 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs | 108 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 76 insertions(+), 32 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs index 6529bb7..6fa8241 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs @@ -596,11 +596,15 @@ /// 灏忚溅鍒拌揪鍖呰鏈哄畨鍏ㄩ棬鍙h姹傝繘鍏� /// </summary> /// <param name="ips"></param> - internal static void PickUpFullDoorUnload(string ip, string taskNo) + internal static void PickUpFullDoorUnload(string ip, string taskNo, string type) { var plc = Settings.GetPlcInfo().Where(a => a.ip == ip).FirstOrDefault(); //ASM鍐欏叆閫氶亾0灏忚溅鍔ㄤ綔锛�-鍙栨枡 int[] num = new int[2] { 1, 1 }; + //if(type == "PDA鎵撳寘涓嬬嚎") + //{ + // num[0] = 4; + //} var writeRes0 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti { host = ip, @@ -3930,8 +3934,8 @@ if (locInfo.state == "1") { //鍙樻洿娉ㄩ噴 - //if (string.IsNullOrEmpty(locInfo.END_LOC)) - //{ + if (string.IsNullOrEmpty(locInfo.END_LOC)) + { CMMLog.Info("InWarehouse:" + JsonConvert.SerializeObject(locInfo)); string wmstaskno = ""; string trayCode = locInfo.timeCuo; @@ -3956,19 +3960,16 @@ } } else CMMLog.Info($"鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); - //} - //else - //{ - // //闃叉杈呮潗鍥炲簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�- // if(locInfo.trayCode.Substring(0,3) == "SWT") - // { - // HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗杞繍", 0, locInfo.trayCode); - // } - // else - // { - // MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("_id", locInfo._id), Update.Set("END_LOC", ""), UpdateFlags.None); - // } - //} + } + else + { + //闃叉杈呮潗鍑哄簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�+ HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗鍑哄簱锛堜簩娈碉級", 0, locInfo.trayCode); + if (req.success) + { + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "ConnectingBits", UpdateFlags.None); + } + } } } } @@ -3992,15 +3993,27 @@ 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) + if (!string.IsNullOrEmpty(locInfo.END_LOC)) { - CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); - MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locInfo.Bit, locInfo.END_LOC, "鐢甸挻鐢熶骇閫�簱(浜屾)", 0, locInfo.trayCode); + if(amsResult.success) + { + CMMLog.Info($"鐢甸挻鐢熶骇閫�簱(浜屾)娴佺▼锛歐MS鐢熸垚浠诲姟鎴愬姛锛�); + MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); + } } - else CMMLog.Info($"鐢甸挻鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); + else + { + 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鐢熸垚浠诲姟澶辫触锛�); + } } } } @@ -4511,17 +4524,48 @@ else CMMLog.Info("绔嬪簱閫氶亾鏈厤缃�); } - internal static void fcrk(Settings.PlcInfo plc) + internal static void fcrk(Settings.PlcInfo plc,bool action, string taskNo = "") { - int[] num = new int[1] { 2 }; - var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti + if (action) { - addr = plc.writeAddr + 2, - host = plc.ip, - port = plc.port, - data = num - }); - CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}"); + var writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel + { + host = plc.ip, + addr = plc.writeAddr, + data = 1, + port = plc.port + }); + CMMLog.Debug($"鍐欏叆璁惧{plc.location}閫氶亾{plc.writeAddr}閲岄潰鏁版嵁涓�."); + + var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel + { + dataNum = 2, + addr = plc.readAddr, + host = plc.ip, + port = plc.port + }); + CMMLog.Debug($"鏌ヨ璁惧{plc.location}閫氶亾{plc.readAddr}閲岄潰鏁版嵁涓簕result.result[0]}銆亄result.result[1]}."); + if (result != null && result.errCode == 0) + { + if (result.result[0] == 1 && result.result[1] == 2) + { + //鎺ㄩ�灏忚溅杩涘叆 + TSHelper.GoToAGV(taskNo, 10, 1); + } + } + } + else + { + int[] num = new int[1] { 2 }; + var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti + { + addr = plc.writeAddr + 2, + host = plc.ip, + port = plc.port, + data = num + }); + CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}"); + } } /// <summary> -- Gitblit v1.9.1