| | |
| | | /// 小车到达包装机安全门口请求进入 |
| | | /// </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小车动作,1-取料 |
| | | int[] num = new int[2] { 1, 1 }; |
| | | //if(type == "PDA打包下线") |
| | | //{ |
| | | // num[0] = 4; |
| | | //} |
| | | var writeRes0 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti |
| | | { |
| | | host = ip, |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | else CMMLog.Info($"接驳位入立库流程:WMS生成任务失败!"); |
| | | //} |
| | | //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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | else CMMLog.Info("立库通道未配置"); |
| | | } |
| | | |
| | | internal static void fcrk(Settings.PlcInfo plc) |
| | | internal static void fcrk(Settings.PlcInfo plc,bool action, string taskNo = "") |
| | | { |
| | | if (action) |
| | | { |
| | | var writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel |
| | | { |
| | | host = plc.ip, |
| | | addr = plc.writeAddr, |
| | | data = 1, |
| | | port = plc.port |
| | | }); |
| | | CMMLog.Debug($"写入设备{plc.location}通道{plc.writeAddr}里面数据为1."); |
| | | |
| | | 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 |
| | |
| | | }); |
| | | CMMLog.Info($"在通道{plc.writeAddr + 2}中写入{JsonConvert.SerializeObject(num)},ip:{plc.ip},端口:{plc.port}"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 电钴A(洗板烘干机组)设备上空下满 |