| | |
| | | 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 = MongoDBSingleton.Instance.FindOne<STOCK_LOCATION_Two>(Query.EQ("CN_S_LOCATION_CODE", mst.CN_S_START_BIT), "STOCK_LOCATION_Two").CN_N_AGV_LOCATION; |
| | | 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; |
| | | 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 == "包装线补空") 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | //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) |
| | |
| | | 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楼复称入缓存架NG") 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); |
| | | } |
| | |
| | | result = true; |
| | | } |
| | | } |
| | | |
| | | var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault(); |
| | | if (bussTypeInfo != null) |
| | | { |
| | |
| | | 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, |
| | |
| | | }); |
| | | 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 |
| | | { |
| | |
| | | { |
| | | if (modelInfo.Mode == "入库模式") |
| | | { |
| | | action = false; |
| | | CMMLog.Debug($"OutWareTask:中间表 ModeList为 入库模式"); |
| | | 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"); |
| | |
| | | //入库输送线上有两个输送口 |
| | | |
| | | //判断输送线模式和中间表模式都是入库模式 |
| | | |
| | | try |
| | | { |
| | | string endMachLoc = ""; |
| | |
| | | }); |
| | | 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; |
| | |
| | | if (modelInfo.Mode == "出库模式") |
| | | { |
| | | action = false; |
| | | CMMLog.Debug($"InWareTask:中间表 ModeList为 出库模式"); |
| | | CMMLog.Debug($"InWareTask:中间表 ModeList 滚筒线模式不正确"); |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | public class ModeList |
| | | { |
| | | public ObjectId id { get; set; } |
| | | public ObjectId _id { get; set; } |
| | | /// <summary> |
| | | /// 模式 |
| | | /// </summary> |