| | |
| | | //listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, storey)); |
| | | |
| | | PlcTaskInfo taskInfo = new PlcTaskInfo(); |
| | | taskInfo = PLCCommon.GetEndPai(modTask.EndRoadway.Substring(1, 2), modTask.EndLocate.Substring(2, 2), |
| | | modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(4, 2), |
| | | modTask.EndLocate.Substring(6, 2)); |
| | | taskInfo = PLCCommon.GetEndPai(endLocat.Substring(1, 2), endLocat.Substring(2, 2), |
| | | endLocat.Substring(0, 2), endLocat.Substring(4, 2), |
| | | endLocat.Substring(6, 2)); |
| | | |
| | | // 给PLC写入任务数据 |
| | | var listResult = new List<Result>(); |
| | |
| | | if (listResult.All(s => s.IsSucceed)) |
| | | { |
| | | // 向跺机写入控制流程字 |
| | | var res = modDevice.PLCUtil.SetPlcDBValue(modDevice.PosType, modDevice.WcsPos, "862"); |
| | | var res = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "862");//写入开始放货信号 |
| | | var modcTaskMonitor = new WcsTaskMonitor() |
| | | { |
| | | TaskNo = modTask.TaskNo, |
| | |
| | | var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "托盘码"); |
| | | var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos); |
| | | // 获取工位任务号信息 |
| | | var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "任务号"); |
| | | var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos); |
| | | if (!res.IsSucceed || !taskRes.IsSucceed) |
| | | { |
| | | break; |
| | | } |
| | | //var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "任务号"); |
| | | //var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos); |
| | | //if (!res.IsSucceed || !taskRes.IsSucceed) |
| | | //{ |
| | | // break; |
| | | //} |
| | | string pallet = palletVal.ToString(); |
| | | string taskNo = taskNoVal.ToString(); |
| | | //string taskNo = taskNoVal.ToString(); |
| | | // 获取任务信息 |
| | | var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && s.Status == TaskStatusEnum.Doing && s.TaskType == TaskTypeEnum.In && s.TaskNo == taskNo); |
| | | var modTask = _db.Queryable<WcsTask>().OrderByDescending(s=>s.CreateTime).First(s => s.IsDelete == false && s.PalletNo == pallet && s.Status == TaskStatusEnum.Doing && s.TaskType == TaskTypeEnum.In );//&& s.TaskNo == taskNo |
| | | if (modTask == null) |
| | | { |
| | | // 此托盘没有对应的转移任务 led显示 |
| | |
| | | |
| | | // led显示内容 |
| | | // 根据目标工位号获取对应的LEDIP地址 |
| | | var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId); |
| | | //var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId); |
| | | |
| | | ledText += $"出库完成\n\n"; |
| | | //ledText += $"任务号:{taskInfo.TaskNo}\n"; |
| | | //ledText += $"出库完成\n\n"; |
| | | ////ledText += $"任务号:{taskInfo.TaskNo}\n"; |
| | | ////ledText += $"托盘号:{taskInfo.PalletNo}\n\n"; |
| | | ////ledText += $"起始位:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n"; |
| | | ////ledText += $"目标位:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}"; |
| | | //ledText += $"名称:{taskInfo.SkuName}\n"; |
| | | //ledText += $"批号:{taskInfo.LotNo}\n"; |
| | | //ledText += $"出库数量:{taskInfo.Qty}\n"; |
| | | //ledText += $"分配数量:{taskInfo.CompleteQty}\n"; |
| | | //ledText += $"托盘号:{taskInfo.PalletNo}\n\n"; |
| | | //ledText += $"起始位:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n"; |
| | | //ledText += $"目标位:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}"; |
| | | ledText += $"名称:{taskInfo.SkuName}\n"; |
| | | ledText += $"批号:{taskInfo.LotNo}\n"; |
| | | ledText += $"出库数量:{taskInfo.Qty}\n"; |
| | | ledText += $"分配数量:{taskInfo.CompleteQty}\n"; |
| | | ledText += $"托盘号:{taskInfo.PalletNo}\n\n"; |
| | | LedDisplay(ledDevice.LedIP, ledText); |
| | | //LedDisplay(ledDevice.LedIP, ledText); |
| | | } |
| | | // 反馈WMS出库完成 |
| | | //TaskReques taskReques = new TaskReques(); |
| | |
| | | // led显示内容 |
| | | var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId); |
| | | |
| | | ledText += $"出库完成\n\n"; |
| | | ledText += $"出库完成\n"; |
| | | //ledText += $"任务号:{modTask.TaskNo}\n"; |
| | | //ledText += $"托盘号:{modTask.PalletNo}\n\n"; |
| | | //ledText += $"起始位:{modTask.StartRoadway + " " + modTask.StartLocate}\n"; |