liudl
2025-02-16 ddd9612ed7cefe12c8ea33ced0711a0b9a3feb99
Admin.NET/WCS.Application/PLC/PLCCommon.cs
@@ -1,4 +1,5 @@
using Elastic.Clients.Elasticsearch.Tasks;
using Furion.Logging;
using Microsoft.AspNetCore.SignalR;
using RazorEngine.Compilation.ImpromptuInterface.Dynamic;
using System;
@@ -23,7 +24,7 @@
    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" };
@@ -327,10 +328,11 @@
    /// <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 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" };
        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";
@@ -354,13 +356,13 @@
    }
    /// <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) 
    {
@@ -372,35 +374,35 @@
        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)
            {
@@ -426,13 +428,16 @@
                }
            }
        }
        //}
        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;
    }
    
@@ -600,6 +605,8 @@
    /// <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", };
@@ -809,11 +816,11 @@
    /// <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)
    {
@@ -822,36 +829,36 @@
        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)
            {
@@ -877,8 +884,12 @@
                }
            }
        //}
        if (paiVal == 0)
        {
            Log.Error("排转换失败!");
            throw new Exception("排转换失败");
        }
        return paiVal;
    }