From b9c76ce85e533250cd36de670146530f970859e7 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 01 八月 2025 11:29:49 +0800
Subject: [PATCH] 修改伸缩杆接口

---
 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs |  194 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 129 insertions(+), 65 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
index 33da6ce..d2cf37b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
@@ -5,6 +5,7 @@
 using System.Text;
 using System.Threading.Tasks;
 using AutoMapper;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
 using SqlSugar;
 using WIDESEAWCS_Core;
@@ -24,30 +25,46 @@
     {
         public IRepository<Dt_Parameters> Repository => BaseDal;
         private readonly IRepository<Sys_User> _user;
+        private readonly IRepository<Dt_AlarmResetHsy> _alarm;
+        private readonly IRepository<Dt_CustomIPaddress> _cunstomip;
 
-        public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user) : base(BaseDal)
+        public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user, IRepository<Dt_AlarmResetHsy> alarm, IRepository<Dt_CustomIPaddress> cunstomip) : base(BaseDal)
         {
-            _user = user;   
+            _user = user;
+            _alarm = alarm;
+            _cunstomip = cunstomip; 
         }
 
 
         /// <summary>
-        /// 鑷姩鎺у埗浼哥缉鏉嗙殑浼稿嚭鍜岀缉鍥為�熷害
+        /// 鑷姩鎺у埗璀︽儠鏈烘瀯鐨勪几鍑哄拰缂╁洖閫熷害
         /// </summary>
         /// <param name="ExtendedState">浼�/鍑虹姸鎬�</param>
         /// <returns></returns>
-        public WebResponseContent automation(string ExtendedState)
+        public WebResponseContent automation(string ExtendedState, string LocalIP)
         {
             
             try
             {
 
-                //鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
-                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                ////鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
+                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                //{
+                //    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+                //};
+
+                //var devices = GetDevicesByDeptId(deid);
+                //鍏堟煡璇㈣澶噄p閰嶇疆琛紙Dt_CustomIPaddress锛夛紝鐪嬫槸鍚︽湁閰嶇疆锛屾病鏈夊氨鎻愮ず浠栭厤缃�
+                var customip=_cunstomip.QueryData(x=>x.IPaddress==LocalIP).FirstOrDefault();
+                if (customip == null)
                 {
-                    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
-                };
+                    return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
+                }
+                var deid = customip.StationID;
                 var devices = GetDevicesByDeptId(deid);
+
+
+
 
                 //鎵惧埌Dt_Parameters涓殑鏈�鏂颁竴鏉℃暟鎹�
                 var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
@@ -60,8 +77,16 @@
                 int rigtpostition = (int)para.RightPosition;//鍙充几鍑轰綅缃�
                 string message = "";
 
+                var alarm = _alarm.QueryData(x => x.ResetStatus == true && x.Deptid == deid && !x.AlarmContent.Contains("闅滅"));  // 鎺掗櫎 AlarmContent 鍖呭惈 "闅滅s" 鐨勮褰�.ToList();
+                if (alarm.Count > 0)
+                {
+                    return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+                }
+                
+
                 try
                 {
+
                     if (devices.Value.left.Communicator.Read<bool>("M117"))
                     {
                         
@@ -74,6 +99,8 @@
                 }
                 try
                 {
+                  
+
                     if (devices.Value.right.Communicator.Read<bool>("M117"))
                     {
                         return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
@@ -91,7 +118,7 @@
                         {
                         if (devices.Value.left.Communicator.Read<float>("D80")>= liftPosition-5)//鍒拌揪鏈�澶т綅缃�)
                         {
-                            message += "宸︿几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+                            message += "宸﹁鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
                         }
                         else
                         {
@@ -107,7 +134,7 @@
                         {
                         if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition-5)
                         {
-                            message += "鍙充几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+                            message += "鍙宠鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
                         }
                         else
                         {
@@ -126,7 +153,7 @@
                         {
                         if (devices.Value.left.Communicator.Read<bool>("M115")) //鍒拌揪鍘熺偣浣�
                         {
-                            message += "宸︿几缂╂潌宸插埌鍘熺偣锛�";
+                            message += "宸﹁鎯曟満鏋勫凡鍒板師鐐癸紱";
                         }
                         else
                         {
@@ -144,7 +171,7 @@
                         {
                         if (devices.Value.right.Communicator.Read<bool>("M115"))
                         {
-                            message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+                            message += "鍙宠鎯曟満鏋勫凡鍒板師鐐癸紱";
                         }
                         else
                         {
@@ -184,20 +211,22 @@
 
 
         /// <summary>
-        /// 鎵嬪姩鎺у埗锛屼几缂╂潌鐨勭缉鍥炲拰浼稿嚭閫熷害
+        /// 鎵嬪姩鎺у埗锛岃鎯曟満鏋勭殑缂╁洖鍜屼几鍑洪�熷害
         /// </summary>
-        /// <param name="position">浼哥缉鏉嗙殑浣嶇疆锛堝乏鍙筹級</param>
+        /// <param name="position">璀︽儠鏈烘瀯鐨勪綅缃紙宸﹀彸锛�</param>
         /// <param name="ExtendedState">浼�/缂╃姸鎬�</param>
         /// <returns></returns>
         /// 
-        public WebResponseContent ManualOperation(string position, string ExtendedState)
+        public WebResponseContent ManualOperation(string position, string ExtendedState, string LocalIP)
         {
             try
             {
-                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+                if (customip == null)
                 {
-                    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+                    return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
                 }
+                var deid = customip.StationID;
                 var devices = GetDevicesByDeptId(deid);
 
                 //淇╀釜plc宸﹀彸鍚勪竴涓�
@@ -213,9 +242,20 @@
                 //bool canLeft = true,
                 // canRight = true;
                 string message = "";
+                var alarm = _alarm.QueryData(x => x.ResetStatus == true && x.Deptid == deid && !x.AlarmContent.Contains("闅滅"));  // 鎺掗櫎 AlarmContent 鍖呭惈 "闅滅s" 鐨勮褰�.ToList();
+                if (alarm.Count > 0)
+                {
+                    return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+                }
 
                 try
                 {
+                   
+                    //var alarmSignals = new[] { "M109", "M111", "M110", "M120" };
+                    //if (alarmSignals.Any(signal => devices.Value.left.Communicator.Read<bool>(signal)))
+                    //{
+                    //    return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+                    //}
                     if (devices.Value.left.Communicator.Read<bool>("M117")) //榛樿鏄痜lase 
                     {
 
@@ -228,6 +268,8 @@
                 }
                 try
                 {
+                   
+
                     if (devices.Value.right.Communicator.Read<bool>("M117"))
                     {
                         return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
@@ -241,7 +283,7 @@
                 {
                     if (devices.Value.left.Communicator.Read<float>("D80") >= liftPosition - 5) //鍒拌揪鐩爣浣嶇疆
                     {
-                        message += "宸︿几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+                        message += "宸﹁鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
                     }
                     else
                     {
@@ -252,7 +294,7 @@
                         devices.Value.left.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
                         
 
-                        Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ext}");
+                        Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩浼稿嚭{ext}");
                     }
 
                 }
@@ -260,16 +302,16 @@
                 {
                     if (devices.Value.left.Communicator.Read<bool>("M115"))//缂╁洖鐨勬椂鍊欏垽鏂�) 
                     {
-                        message += "宸︿几缂╂潌宸插埌鍘熺偣锛�";
+                        message += "宸﹁鎯曟満鏋勫凡鍒板師鐐癸紱";
                     }
                     else
                     {
-                        //devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//浼稿嚭浣嶇疆
+                        devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//浼稿嚭浣嶇疆
                         devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
                         devices.Value.left.Communicator.Write<bool>("M101", true);
                         Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
                         devices.Value.left.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
-                        Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ext}");
+                        Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩缂╁洖{ext}");
                     }
 
                 }
@@ -278,7 +320,7 @@
                 {
                     if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition - 5)
                     {
-                        message += "鍙充几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+                        message += "鍙宠鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
                     }
                     else
                     {
@@ -287,7 +329,7 @@
                         devices.Value.right.Communicator.Write<bool>("M100", true);
                         Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
                         devices.Value.right.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
-                        Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ret}");
+                        Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩浼稿嚭{ret}");
                     }
 
 
@@ -296,16 +338,16 @@
                 {
                     if (devices.Value.right.Communicator.Read<bool>("M115"))
                     {
-                        message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+                        message += "鍙宠鎯曟満鏋勫凡鍒板師鐐癸紱";
                     }
                     else
                     {
-                        //devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//浼稿嚭浣嶇疆
+                        devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//浼稿嚭浣嶇疆
                         devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
                         devices.Value.right.Communicator.Write<bool>("M101", true);
                         Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
                         devices.Value.right.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
-                        Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ret}");
+                        Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩缂╁洖{ret}");
                     }
 
                 }
@@ -336,39 +378,46 @@
 
 
         /// <summary>
-        /// 鏍规嵁鐢ㄦ埛娣诲姞閫熷害
+        /// 鏍规嵁褰撳墠鏈烘ip鍦板潃鏉ユ坊鍔犻�熷害
         /// </summary>
         /// <param name="entity"></param>
         /// <returns></returns>
-        public  WebResponseContent AddSpeed(SpeedDTO entity)
+        public  WebResponseContent AddSpeed(SpeedDTO entity,string LocalIP)
         {
             try
             {
-                // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
-                var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
-               // 鍒ゆ柇锛氬鏋滀笉鏄鐞嗗憳 && Dept_Id 涓虹┖锛屽垯鎻愮ず閿欒
-                if (user.UserName != "admin" && user.Dept_Id == null)
+                // // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+                // var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
+                //// 鍒ゆ柇锛氬鏋滀笉鏄鐞嗗憳 && Dept_Id 涓虹┖锛屽垯鎻愮ず閿欒
+                // if (user.UserName != "admin" && user.Dept_Id == null)
+                // {
+                //     return new WebResponseContent { Status = false, Message = "浣犵殑璐﹀彿娌℃湁璁剧疆杞ㄩ亾绔欏彿锛屾棤娉曟坊鍔狅紝璇疯仈绯荤鐞嗗憳" };
+                // }
+
+                //var dept = user.Dept_Id;
+
+                ////  鑾峰彇閰嶇疆鏂囦欢涓殑 DepartmentID锛堢鐞嗗憳涓撶敤锛�
+                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                //{
+                //    return new WebResponseContent
+                //    {
+                //        Status = false,
+                //        Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�"
+                //    };
+                //}
+
+
+                //// 鍒ゆ柇鏄惁涓虹鐞嗗憳璐﹀彿
+                //bool isAdmin = user?.UserName?.Equals("admin") == true; //濡傛灉褰撳墠鐢ㄦ埛涓嶄负绌猴紝涓旂敤鎴峰悕鏄� "admin"锛屽氨璁や负杩欎釜鐢ㄦ埛鏄鐞嗗憳
+
+                //鍘昏鍙栧搴旇澶囩殑ip鍦板潃
+                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+                if (customip == null)
                 {
-                    return new WebResponseContent { Status = false, Message = "浣犵殑璐﹀彿娌℃湁璁剧疆杞ㄩ亾绔欏彿锛屾棤娉曟坊鍔狅紝璇疯仈绯荤鐞嗗憳" };
+                    return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
                 }
-               
-                var dept = user.Dept_Id;
+                var deid = customip.StationID;
 
-                //  鑾峰彇閰嶇疆鏂囦欢涓殑 DepartmentID锛堢鐞嗗憳涓撶敤锛�
-                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
-                {
-                    return new WebResponseContent
-                    {
-                        Status = false,
-                        Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�"
-                    };
-                }
-
-
-                // 鍒ゆ柇鏄惁涓虹鐞嗗憳璐﹀彿
-                bool isAdmin = user?.UserName?.Equals("admin") == true; //濡傛灉褰撳墠鐢ㄦ埛涓嶄负绌猴紝涓旂敤鎴峰悕鏄� "admin"锛屽氨璁や负杩欎釜鐢ㄦ埛鏄鐞嗗憳
-
-                // 鏍规嵁鏄惁鏄鐞嗗憳鍐冲畾浣跨敤鍝釜 Deptid
                 var parmet = new Dt_Parameters
                 {
                     ExtendSpeed = entity.ExtendSpeed,
@@ -376,8 +425,9 @@
                     ManualExtend = entity.ManualExtend,
                     ManualRetraction = entity.ManualRetraction,
                     LeftPosition = entity.LeftPosition,
-                    RightPosition = entity.RightPosition,   
-                    Deptid = isAdmin ? deid : dept.GetValueOrDefault()//濡傛灉褰撳墠鐢ㄦ埛鏄鐞嗗憳锛屽氨鐢ㄩ厤缃枃浠朵腑鐨� DepartmentID锛屽惁鍒欑敤浼犲叆鐨� entity 鍙傛暟涓殑 Deptid
+                    RightPosition = entity.RightPosition,
+                    //Deptid = isAdmin ? deid : dept.GetValueOrDefault()//濡傛灉褰撳墠鐢ㄦ埛鏄鐞嗗憳锛屽氨鐢ㄩ厤缃枃浠朵腑鐨� DepartmentID锛屽惁鍒欑敤浼犲叆鐨� entity 鍙傛暟涓殑 Deptid
+                    Deptid = deid
                 };
                 // 娣诲姞鏁版嵁
                 AddData(parmet);
@@ -402,16 +452,24 @@
         ///褰撹嚜鍔ㄤ几鍑洪渶瑕佹殏鍋滄椂锛屾殏鍋滄寜閽�
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent PauseButton()
+        public WebResponseContent PauseButton(string LocalIP)
         {
             try
             {
-                //鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
-                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                ////鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
+                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                //{
+                //    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+                //};
+                //var devices = GetDevicesByDeptId(deid);
+                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+                if (customip == null)
                 {
-                    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
-                };
+                    return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
+                }
+                var deid = customip.StationID;
                 var devices = GetDevicesByDeptId(deid);
+
                 try
                 {
                     devices.Value.left.Communicator.Write<bool>("M104", true);
@@ -443,18 +501,24 @@
 
 
         /// <summary>
-        /// 鑾峰彇褰撳墠绋嬪簭鏈�鏂扮殑浼哥缉鏉嗛�熷害
+        /// 鑾峰彇褰撳墠绋嬪簭鏈�鏂扮殑璀︽儠鏈烘瀯閫熷害
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent BackfillSpeed()
+        public WebResponseContent BackfillSpeed(string LocalIP)
         {
             try
             {
-                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
-                {
-                    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+                //{
+                //    return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
 
+                //}
+                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+                if (customip == null)
+                {
+                    return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
                 }
+                var deid = customip.StationID;
                 var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
                 if (para == null)
                 {
@@ -470,7 +534,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇褰撳墠浼哥缉鏉嗙殑浣嶇疆(鑷姩)
+        /// 鑾峰彇褰撳墠璀︽儠鏈烘瀯鐨勪綅缃�(鑷姩)
         /// </summary>
         /// <param name="ExtendedState"></param>
         /// <returns></returns>
@@ -488,7 +552,7 @@
             
                     var deviceslift = devices.Value.left.Communicator.Read<float>("D80");
                     var devicesright = devices.Value.right.Communicator.Read<float>("D80");
-                    Console.WriteLine($"褰撳墠宸﹀彸浼哥缉鏉嗚繑鍥為�熷害鍒嗗埆涓轰负{deviceslift}");
+                    Console.WriteLine($"褰撳墠宸﹀彸璀︽儠鏈烘瀯杩斿洖閫熷害鍒嗗埆涓轰负{deviceslift}");
              
 
                 return new WebResponseContent

--
Gitblit v1.9.3