| | |
| | | { |
| | | LogHelper.Info($"查询到执行中的工单,工单类型:{workInfo.S_PLineNo}"); |
| | | string startArea = ""; |
| | | string endArea = ""; |
| | | string fullTaskType = ""; |
| | | string emptyTaskType = ""; |
| | | if (workInfo.S_UsingNow == "Y") |
| | | { |
| | | LogHelper.Info("即产即用工单"); |
| | | //即产即用在起点为线边 |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯即产即用A" && a.enable == 1).FirstOrDefault(); |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚即产即用满框" && a.enable == 1).FirstOrDefault(); |
| | | if (bcpInfo != null) |
| | | { |
| | | startArea = bcpInfo.areaCode; |
| | |
| | | { |
| | | LogHelper.Info("非即产即用工单"); |
| | | //非即产即用起点为库区 |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯非即产即用" && a.enable == 1).FirstOrDefault(); |
| | | string areaName = plc.deviceName.Split('-')[1].Substring(0, 1) + "号瓶胚翻斗机非即产满框"; |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault(); |
| | | if (bcpInfo != null) |
| | | { |
| | | startArea = bcpInfo.areaCode; |
| | |
| | | fullTaskType = "翻斗机库存满托上线(瓶坯)"; |
| | | emptyTaskType = "翻斗机库存空托下线(瓶坯)"; |
| | | } |
| | | |
| | | endArea = Settings.areaInfos.Where(a => a.areaName == "瓶坯空托" && a.enable == 1).FirstOrDefault().areaCode; |
| | | |
| | | if (data.Length == 6) |
| | | { |
| | |
| | | //初始状态,无托盘,直接上满托(非即产即用需要校验 套袋完成,即产即用直接使用) |
| | | if (workInfo.S_UsingNow == "Y") |
| | | { |
| | | LogHelper.Info($"瓶坯即产即用A库区查找"); |
| | | LogHelper.Info($"瓶胚即产即用满框 查找"); |
| | | startLoca = getFDSXArea(db, workInfo, startArea); |
| | | if (startLoca == null) |
| | | { |
| | | LogHelper.Info($"瓶坯即产即用A库区未找到满托,去瓶坯即产即用B库区查找"); |
| | | startLoca = TaskProcess.BCPInOrOut(db, false, "瓶坯即产即用B", workInfo.S_ItemCode); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶胚非即产库区 查找"); |
| | | startLoca = getFDSXArea(db, workInfo, startArea); |
| | | } |
| | | |
| | |
| | | { |
| | | LogHelper.Info($"查询到执行中的工单,工单类型:{workInfo.S_PLineNo}"); |
| | | string startArea = ""; |
| | | string endArea = ""; |
| | | string fullTaskType = ""; |
| | | string emptyTaskType = ""; |
| | | LogHelper.Info("非即产即用工单"); |
| | | //非即产即用起点为库区 |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产即用" && a.enable == 1).FirstOrDefault(); |
| | | var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产满框" && a.enable == 1).FirstOrDefault(); |
| | | if (bcpInfo != null) |
| | | { |
| | | startArea = bcpInfo.areaCode; |
| | |
| | | fullTaskType = "翻斗机库存满托上线(瓶盖)"; |
| | | emptyTaskType = "翻斗机库存空托下线(瓶盖)"; |
| | | |
| | | endArea = Settings.areaInfos.Where(a => a.areaName == "瓶盖空托" && a.enable == 1).FirstOrDefault().areaCode; |
| | | if (data.Length == 6) |
| | | { |
| | | if (data.Substring(0, 2) == "11") |
| | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶盖翻斗机上有空托盘,生成空托下线任务,瓶盖翻斗机点位:{plc.TN_Location[0]}"); |
| | | LogHelper.Info($"瓶盖翻斗机上有空托盘,生成空托下线任务,瓶盖翻斗机点位:{locCode}"); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(plc.TN_Location[0],"", "入库", emptyTaskType, plcLoca.S_CNTR_CODE); |
| | | WMSHelper.CreateOpTask(locCode, "", "入库", emptyTaskType, plcLoca.S_CNTR_CODE); |
| | | } |
| | | } |
| | | } |
| | |
| | | taskType = $"注塑库存空托上线({machine})"; |
| | | } |
| | | |
| | | Location startLoca = TaskProcess.getMStartLoc(db); |
| | | Location startLoca = TaskProcess.getMStartLoc(db,workInfo.S_UsingNow); |
| | | if (startLoca != null) |
| | | { |
| | | //创建作业 |
| | |
| | | LogHelper.Info($"查询翻斗机允许取空信号 允许取空信号={LineState[mst.S_START_LOC.Trim()].status} 时间间隔={DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds}", "安全交互"); |
| | | if ((LineState[mst.S_START_LOC.Trim()].status == "112100" || LineState[mst.S_START_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18"); |
| | | TaskProcess.sendSing(mst, 1101); |
| | | } |
| | | } |
| | |
| | | { |
| | | if ((LineState[mst.S_START_LOC.Trim()].status == "1122" || LineState[mst.S_START_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18"); |
| | | TaskProcess.sendSing(mst, 1101); |
| | | } |
| | | } |
| | |
| | | { |
| | | if (LineState[mst.S_START_LOC.Trim()].status == "1220" && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1101, "18"); |
| | | TaskProcess.sendSing(mst, 1101); |
| | | } |
| | | } |
| | |
| | | LogHelper.Info($"查询翻斗机允许上满信号 允许上满信号={LineState[mst.S_END_LOC.Trim()].status} 时间间隔={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "安全交互"); |
| | | if ((LineState[mst.S_END_LOC.Trim()].status == "112100" || LineState[mst.S_END_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18"); |
| | | TaskProcess.sendSing(mst, 1103); |
| | | } |
| | | } |
| | |
| | | { |
| | | if ((LineState[mst.S_END_LOC.Trim()].status == "1122" || LineState[mst.S_END_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18"); |
| | | TaskProcess.sendSing(mst, 1103); |
| | | } |
| | | } |
| | |
| | | { |
| | | if (LineState[mst.S_END_LOC.Trim()].status == "1021" && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) |
| | | { |
| | | NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); |
| | | NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 1103, "18"); |
| | | TaskProcess.sendSing(mst, 1103); |
| | | } |
| | | } |