| | |
| | | using Elastic.Clients.Elasticsearch.Tasks; |
| | | using Furion.Logging; |
| | | using Microsoft.AspNetCore.SignalR; |
| | | using RazorEngine.Compilation.ImpromptuInterface.Dynamic; |
| | | using System; |
| | |
| | | public static PlcTaskInfo GetCTaskInfo(string endLocat,string taskType,string roadWay,string endRoadWay) |
| | | { |
| | | // 各层输送线跺机放货工位集合 |
| | | var conveyList1 = new List<string>() { "033", "039", "044", "051", "059" }; |
| | | var conveyList1 = new List<string>() { "033", "039", "044", "051", "059","009" }; |
| | | var conveyList2 = new List<string>() { "205", "234" }; |
| | | var conveyList3 = new List<string>() { "440", "443" }; |
| | | |
| | |
| | | /// <returns></returns> |
| | | public static PLCUtil GetPlcIp(string startStation) |
| | | { |
| | | startStation = startStation.PadLeft(3, '0'); |
| | | string strIp = ""; |
| | | var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065","033" }; |
| | | var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; |
| | | var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; |
| | | var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065","033","039","044" ,"051","059","009"}; |
| | | var conveyList2 = new List<string>() { "205", "234", "252", "254", "260", "262", "270", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; |
| | | var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438", "440", "443" }; |
| | | if (conveyList1.Contains(startStation)) |
| | | { |
| | | strIp = "10.18.51.110"; |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据wms目标地址转换为Plc目标地址 |
| | | /// 根据wms目标地址转换为Plc目标地址 03010301 |
| | | /// </summary> |
| | | /// <param name="road">巷道</param> |
| | | /// <param name="lie">列</param> |
| | | /// <param name="pai">排</param> |
| | | /// <param name="road">巷道02</param> |
| | | /// <param name="lie">列01</param> |
| | | /// <param name="pai">排03</param> |
| | | /// <param name="ceng">层</param> |
| | | /// <param name="dept">深度</param> |
| | | /// <param name="dept">深度01</param> |
| | | /// <returns></returns> |
| | | public static PlcTaskInfo GetEndPai(string road,string lie, string pai,string ceng, string dept) |
| | | { |
| | |
| | | |
| | | var paiVal = 0; |
| | | // 判断巷道奇偶数 |
| | | if (roadNum % 2 == 0)// 偶数 |
| | | { |
| | | // 判断排奇偶数 |
| | | if (paiNum % 2 == 0) |
| | | { |
| | | if (deptNum == 1) |
| | | { |
| | | paiVal = 3; |
| | | } |
| | | else |
| | | { |
| | | paiVal = 4; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (deptNum == 1) |
| | | { |
| | | paiVal = 1; |
| | | } |
| | | else |
| | | { |
| | | paiVal = 2; |
| | | } |
| | | } |
| | | //if (roadNum % 2 == 0)// 偶数 |
| | | //{ |
| | | // // 判断排奇偶数 |
| | | // if (paiNum % 2 == 0) |
| | | // { |
| | | // if (deptNum == 1) |
| | | // { |
| | | // paiVal = 3; |
| | | // } |
| | | // else |
| | | // { |
| | | // paiVal = 4; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // if (deptNum == 1) |
| | | // { |
| | | // paiVal = 2; |
| | | // } |
| | | // else |
| | | // { |
| | | // paiVal = 1; |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | else // 奇数 |
| | | { |
| | | //} |
| | | //else // 奇数 |
| | | //{ |
| | | // 判断排奇偶数 |
| | | if (paiNum % 2 == 0) |
| | | { |
| | |
| | | |
| | | } |
| | | } |
| | | } |
| | | //} |
| | | |
| | | PlcTaskInfo taskInfo = new PlcTaskInfo(); |
| | | taskInfo.EndPai = paiVal.ToString(); |
| | | taskInfo.EndCeng = cengNum.ToString(); |
| | | taskInfo.EndLie = lieNum.ToString() ; |
| | | |
| | | if (taskInfo.EndPai == "0" || taskInfo.EndCeng == "0" || taskInfo.EndLie == "0") |
| | | { |
| | | throw new Exception("排列层转换失败"); |
| | | } |
| | | return taskInfo; |
| | | } |
| | | |
| | |
| | | /// <returns>跺机联机</returns> |
| | | public static string GetRoadwayByStation(string StationNum) |
| | | { |
| | | StationNum = StationNum.PadLeft(3, '0'); |
| | | |
| | | string value = ""; |
| | | var conveyList1 = new List<string>() { "147", "145", "252", "254", "401", "402", }; |
| | | var conveyList2 = new List<string>() { "139", "137", "260", "262", "405", "406", }; |
| | |
| | | //var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" }; |
| | | //var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" }; |
| | | |
| | | var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine); |
| | | var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.ConveyorLine && s.IsDelete == false).ToList(); //s.Type == PLCTypeEnum.StackingMachine || |
| | | var ip1 = ipInfo.First(m => m.Text == "1层托盘输送线"); |
| | | var ip2 = ipInfo.First(m => m.Text == "2层托盘输送线"); |
| | | var ip3 = ipInfo.First(m => m.Text == "3层托盘输送线"); |
| | |
| | | return value; |
| | | } |
| | | } |
| | | |
| | | throw new Exception("工位未查询到"); |
| | | |
| | | return ""; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据储位排获取跺机对应的地址排 |
| | | /// 根据储位排获取跺机对应的地址排03010302 |
| | | /// </summary> |
| | | /// <param name="road">排</param> |
| | | /// <param name="pai">排</param> |
| | | /// <param name="dept">深度</param> |
| | | /// <param name="road">排02</param> |
| | | /// <param name="pai">排03</param> |
| | | /// <param name="dept">深度02</param> |
| | | /// <returns></returns> |
| | | public static int GetDjAdress(string road, string pai, string dept) |
| | | { |
| | |
| | | var deptNum = int.Parse(dept); |
| | | |
| | | var paiVal = 0; |
| | | // 判断巷道奇偶数 |
| | | if (roadNum % 2 == 0)// 偶数 |
| | | { |
| | | // 判断排奇偶数 |
| | | if (paiNum % 2 == 0) |
| | | { |
| | | if (deptNum == 1) |
| | | { |
| | | paiVal = 3; |
| | | } |
| | | else |
| | | { |
| | | paiVal = 4; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (deptNum == 1) |
| | | { |
| | | paiVal = 1; |
| | | } |
| | | else |
| | | { |
| | | paiVal = 2; |
| | | } |
| | | } |
| | | //// 判断巷道奇偶数 |
| | | //if (roadNum % 2 == 0)// 偶数 |
| | | //{ |
| | | // // 判断排奇偶数 |
| | | // if (paiNum % 2 == 0) |
| | | // { |
| | | // if (deptNum == 1) |
| | | // { |
| | | // paiVal = 3; |
| | | // } |
| | | // else |
| | | // { |
| | | // paiVal = 4; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // if (deptNum == 1) |
| | | // { |
| | | // paiVal = 2; |
| | | // } |
| | | // else |
| | | // { |
| | | // paiVal = 1; |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | else // 奇数 |
| | | { |
| | | //} |
| | | //else // 奇数 |
| | | //{ |
| | | // 判断排奇偶数 |
| | | if (paiNum % 2 == 0) |
| | | { |
| | |
| | | |
| | | } |
| | | } |
| | | //} |
| | | if (paiVal == 0) |
| | | { |
| | | Log.Error("排转换失败!"); |
| | | throw new Exception("排转换失败"); |
| | | } |
| | | |
| | | return paiVal; |
| | | |
| | | } |