yanjinhui
2025-06-05 fcd49db2ee33ee2e1d33e5a41e53d9897a8a3b0f
project/ºǫ́¹ÜÀí/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs
@@ -63,29 +63,90 @@
                    int liftPosition = (int)para.LeftPosition;//左伸出位置
                    int rigtpostition = (int)para.RightPosition;//右伸出位置
                    try
                    {
                        var leftorigin = devices.Value.left.Communicator.Read<bool>("M115");//å·¦plc到原点位置信号
                        var rightorigin = devices.Value.right.Communicator.Read<bool>("M115");//右plc到达原点位置信号
                        if (leftorigin == true || rightorigin == true)
                        {
                            return new WebResponseContent { Status = false, Message = "已到原始点" };
                        }
                    }
                    catch (Exception)
                    {
                    }
                    try
                    {
                        var lefttarget = devices.Value.left.Communicator.Read<bool>("M116");//å·¦plc到达目标位置
                        var righttarget = devices.Value.right.Communicator.Read<bool>("M116");//右plc到达目标位置
                        if (lefttarget == true || righttarget == true)
                        {
                            return new WebResponseContent { Status = false, Message = "已到最大值" };
                        }
                    }
                    catch (Exception)
                    {
                    }
                    if (extendedState == "伸出")
                    {
                        devices.Value.left.Communicator.Write<int>("D1001", ext);//å·¦PLC自动伸出缩回速度
                        devices.Value.left.Communicator.Write<bool>("M102", true);//伸出按钮
                        devices.Value.right.Communicator.Write<int>("D1002", liftPosition);//左伸出位置
                        try
                        {
                            devices.Value.left.Communicator.Write<int>("D1001", ext);//å·¦PLC自动伸出缩回速度
                            devices.Value.left.Communicator.Write<bool>("M102", true);//伸出按钮
                            devices.Value.left.Communicator.Write<int>("D1002", liftPosition);//左伸出位置
                        }
                        catch (Exception)
                        {
                        }
                        devices.Value.right.Communicator.Write<int>("D1001", ret); //右PLC自动伸出缩回速度
                        devices.Value.right.Communicator.Write<bool>("M102", true);
                        devices.Value.right.Communicator.Write<int>("D1002", rigtpostition);//右伸出位置
                        try
                        {
                            devices.Value.right.Communicator.Write<int>("D1001", ret); //右PLC自动伸出缩回速度
                            devices.Value.right.Communicator.Write<bool>("M102", true);
                            devices.Value.right.Communicator.Write<int>("D1002", rigtpostition);//右伸出位置
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        Console.WriteLine($"DeptId={deptId} ï¼Œå·¦é€Ÿåº¦={ext},右速度={ret}");
                    }
                    else if (extendedState == "缩回")
                    {
                        devices.Value.left.Communicator.Write<int>("D1001", ext);//缩回速度
                        devices.Value.left.Communicator.Write<bool>("M103", true);//缩回按钮
                        try
                        {
                            devices.Value.left.Communicator.Write<int>("D1001", ext);//缩回速度
                            devices.Value.left.Communicator.Write<bool>("M103", true);//缩回按钮
                        }
                        catch (Exception)
                        {
                        devices.Value.right.Communicator.Write<int>("D1001", ret);
                        devices.Value.right.Communicator.Write<bool>("M103", true);
                            throw;
                        }
                        try
                        {
                            devices.Value.right.Communicator.Write<int>("D1001", ret);
                            devices.Value.right.Communicator.Write<bool>("M103", true);
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        Console.WriteLine($"DeptId={deptId} ç¼©å›žæ“ä½œï¼Œå·¦é€Ÿåº¦={ext},右速度={ret}");
                    }
                    else
@@ -129,6 +190,36 @@
                int ext = (int)para.ManualExtend;//å·¦PLC手动伸出缩回速度
                int ret = (int)para.ManualRetraction;//右PLC手动伸出缩回速度
                try
                {
                    var leftorigin = devices.Value.left.Communicator.Read<bool>("M115");//å·¦plc到原点位置信号
                    var rightorigin = devices.Value.right.Communicator.Read<bool>("M115");//右plc到达原点位置信号
                    if (leftorigin == true || rightorigin == true)
                    {
                        return new WebResponseContent { Status = false, Message = "已到原始点" };
                    }
                }
                catch (Exception)
                {
                }
                try
                {
                    var lefttarget = devices.Value.left.Communicator.Read<bool>("M116");//å·¦plc到达目标位置
                    var righttarget = devices.Value.right.Communicator.Read<bool>("M116");//右plc到达目标位置
                    if (lefttarget == true || righttarget == true)
                    {
                        return new WebResponseContent { Status = false, Message = "已到最大值" };
                    }
                }
                catch (Exception)
                {
                }
                if (position == "å·¦" && ExtendedState == "伸出")
                {
@@ -188,8 +279,25 @@
            {
                //根据int.TryParse(AppSettings.Get("DepartmentID")读取到当前是轨道几,所有人都只能操作当前
                var devices = GetDevicesByDeptId(deptid);
                devices.Value.left.Communicator.Write<bool>("M104", true);
                devices.Value.right.Communicator.Write<bool>("M104", true);
                try
                {
                    devices.Value.left.Communicator.Write<bool>("M104", true);
                }
                catch (Exception)
                {
                    throw;
                }
                try
                {
                    devices.Value.right.Communicator.Write<bool>("M104", true);
                }
                catch (Exception)
                {
                    throw;
                }
                return new WebResponseContent { Status = true, Message = "暂停成功", Data = devices };
            }
            catch (Exception ex)
@@ -201,7 +309,7 @@
        /// <summary>
        /// ä¼¸ç¼©æ†å½“前位置
        /// ä¼¸ç¼©æ†å½“前位置(这个没有用)
        /// <param name="deptid">轨道站号</param>
        public WebResponseContent CurrentLocation(int deptid)
        {