| | |
| | | using System.IdentityModel.Protocols.WSTrust; |
| | | using System.Linq; |
| | | using System.Security.Cryptography; |
| | | using System.Threading; |
| | | using static HH.WCS.JiaTong.api.ApiModel; |
| | | using static HH.WCS.JiaTong.LISTA.process.HttpModel; |
| | | |
| | |
| | | var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1; |
| | | if (load) |
| | | { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | //Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | |
| | | if (!string.IsNullOrEmpty(mst.S_CNTR_CODE)) |
| | | { |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"任务{mst.S_CODE} 托盘为空 ,只解锁货位"); |
| | | LocationHelper.UnlockLoc(mst.S_START_LOC); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | // Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | |
| | | if (!string.IsNullOrEmpty(mst.S_CNTR_CODE)) |
| | | { |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"任务{mst.S_CODE} 托盘为空 ,只解锁货位"); |
| | | LocationHelper.UnlockLoc(mst.S_END_LOC); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | /// <summary> |
| | | /// 安全请求 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <param name="url"></param> |
| | | /// <param name="wcs"></param> |
| | | /// <param name="model">请求参数</param> |
| | | /// <param name="url">地址</param> |
| | | /// <param name="TN_Task">任务</param> |
| | | internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task) |
| | | { |
| | | try |
| | |
| | | else |
| | | { |
| | | //井松叠盘机安全交互 |
| | | if ( TN_Task.S_NOTE == "空托回库") |
| | | if (TN_Task.S_NOTE == "空托回库") |
| | | { |
| | | if (S7Helper.WriteDpj(1002, 1)) |
| | | { |
| | |
| | | //NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18); |
| | | } |
| | | } |
| | | if (TN_Task.Z_TYPE == 2 && TN_Task.S_NOTE == "空托回库") |
| | | if (TN_Task.S_NOTE == "空托回库") |
| | | { |
| | | S7Helper.WriteDpj(1001, 1); |
| | | S7Helper.WriteDpj(1002, 0); |
| | | //写入失败重新写入 |
| | | while (!S7Helper.WriteDpj(1001, 1)) |
| | | { |
| | | Thread.Sleep(1000); |
| | | } |
| | | while (!S7Helper.WriteDpj(1002, 0)) |
| | | { |
| | | Thread.Sleep(1000); |
| | | } |
| | | } |
| | | } |
| | | if (model.state == 1103) |
| | |
| | | //回报数据 |
| | | Request<MesItemBackModel> request = new Request<MesItemBackModel>(); |
| | | List<MesItemBackInfoModel> list = new List<MesItemBackInfoModel>(); |
| | | string TaskNumber = mst.S_EQ_NO; |
| | | if (!string.IsNullOrEmpty(mst.S_WMS_NO)) |
| | | { |
| | | TaskNumber = mst.S_WMS_NO; |
| | | } |
| | | |
| | | //获取时间戳 |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | //物料到位接口和状态反馈同时调IIOT,为了区分id,物料到位长度加一区分 |
| | |
| | | MesItemBackModel mesItemBackModel = new MesItemBackModel(); |
| | | mesItemBackModel.TaskNumber = mst.S_EQ_NO; |
| | | mesItemBackModel.WmsTaskNumber = mst.S_WMS_NO; |
| | | mesItemBackModel.Rfid = mst.S_CNTR_CODE; |
| | | mesItemBackModel.LocationNum = mst.S_END_LOC; |
| | | mesItemBackModel.Result = "1"; |
| | | mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | if (cntritem != null) |
| | | { |
| | |
| | | TyreType = cntritem.TyreType, |
| | | ProduceTime = cntritem.D_PRD_DATE, |
| | | Rfid = cntritem.S_CNTR_CODE, |
| | | Qty = cntritem.F_WEIGHT |
| | | Qty = cntritem.F_WEIGHT, |
| | | Level = cntritem.LEV |
| | | }); |
| | | |
| | | |