From 308e1a141a5d89fd9d2f97cb0d7bcb258188ef02 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 25 三月 2025 15:38:11 +0800
Subject: [PATCH] 更新了串口通信,现在已经满足要求

---
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs |  147 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
index 7ed38b0..a02e1e6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs"
@@ -141,3 +141,150 @@
 //        }
 //    }
 //}
+#region
+//if (group == "鐢垫皵")
+//{
+//    //鑾峰彇褰撳墠浠诲姟鍙�  //IPutakeServer閲岄潰鐨勫緟鎵ц鐨勭涓�鏉′换鍔★紱
+//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+//        .OrderBy(x => x.Dispatchtime)
+//        .FirstOrDefault();
+//    var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+//    //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+//    var process = _processServer.Getcircuit(group, takeid);
+
+//    if (process != null && process.Status)
+//    {
+//        var list = JsonConvert.SerializeObject(process.Data);
+//        var data = JsonConvert.DeserializeObject<ProcessData>(list);
+
+//        if (data?.proNow != null)
+//        {
+
+//            int setpNum = data.proNow.SetpNum;
+//            int sum = data.proNow.TorqueSum;
+//            double torqueone = data.proNow.TorqueOne;
+//            double torquetwo = data.proNow.TorqueTwo;
+
+//            int onequantity = data.proNow.TorqueOneQuantity;
+//            int towquantity = data.proNow.TorqueTwoQuantity;
+
+
+//            //鍒ゆ柇op琛ㄤ腑杩欎釜鍊兼槸鍚︽湁璇ユ潯浠诲姟鐨勬暟鎹�
+//            var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
+//            if (op.Any())//鍒ゆ柇鏄惁鏈夋暟鎹�
+//            {
+//                //鎵惧埌浜嗗氨瑕佸姣旂幇鍦╫p琛ㄤ腑鏈夊灏戞潯锛屾槸鍚﹀拰宸ヨ壓琛ㄤ腑鐨勭洰鏍囦竴鑷�
+
+//                // 璁$畻绗竴涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級//Math.Abs(5.2 - 4.5) = 0.7 // 璁″叆 Math.Abs(6.0 - 4.5) = 1.5 涓嶈鍏�
+//                var oponecount = op.Count(x => Math.Abs(x.TorqueSize - torqueone) <= 1);
+
+//                int times = 0;
+//                if (op.Count() > onequantity)
+//                {
+//                    times = onequantity;//濡傛灉绗竴鏉′互鍙婃弧瓒冲氨绉婚櫎onequantity鏁伴噺鐨勬暟鎹�
+//                }
+//                else
+//                {
+//                    times = op.Count();//娌℃湁婊¤冻灏辩Щ闄ゅ綋鍓嶇殑鏁版嵁鏁版嵁
+//                }
+
+//                for (int i = 0; i < times; i++)
+//                {
+//                    //绉婚櫎绗竴娆″�肩殑褰卞搷锛堜互涓烘湁鍙兘淇╀釜鐩爣鍊肩浉杩戣�屼骇鐢熻鍒わ級
+//                    op.RemoveAt(0); //绉婚櫎 op 鍒楄〃鐨� 绗竴涓厓绱狅紙鍗虫渶鏃╁瓨鍏ョ殑璁板綍锛�
+
+//                }
+
+//                // 璁$畻绗簩涓壄鐭╃殑鏁伴噺锛堝湪 卤1 璇樊鑼冨洿鍐咃級
+//                var optowcount = op.Count(x => Math.Abs(x.TorqueSize - torquetwo) <= 1);
+//                sum = oponecount + optowcount;
+//                //绗竴绉嶏紝绗竴涓壄鍔涘�兼病鏈夋壄瀹�
+//                if (oponecount < onequantity && torqueone != 0)
+//                {
+//                    //璁惧��
+//                    //var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                    //        .Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                              .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    //鏍煎紡鍖栨垚鏁存暟
+
+//                    serialPortDevice.Communicator.Write(com);
+//                    //WriteDebug("鍐欏叆", com);
+//                }
+//                //绗簩绉嶏紝绗竴涓�兼壄瀹屼簡锛岀浜屼釜娌℃湁鎵畬
+//                if (oponecount == onequantity && optowcount < towquantity && torquetwo != 0)
+//                {
+//                    //璁惧��
+//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                            .Replace("[setNum]", Math.Round(torquetwo * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                    serialPortDevice.Communicator.Write(com);
+//                }
+//            }
+//            //杩欓噷杩欎釜浠诲姟绗竴娆℃墽琛岋紝op琛ㄤ腑鑲畾鏄病鏈夋暟鎹殑锛屾墍鏈夌涓�娆″氨瑕佹妸宸ヨ壓琛ㄤ腑鐨勫�肩粰瀹�
+//            else //闃叉姝ラ涓�涓璽orqueone鐨勫�间负0瀵艰嚧鎶ラ敊
+//            {
+//                //璁惧��
+//                var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
+//                        .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
+//                serialPortDevice.Communicator.Write(com);
+//            }
+
+//        }
+//        else
+//        {
+//            Console.WriteLine("proNow 涓虹┖");
+//        }
+//    }
+//    else
+//    {
+//        Console.WriteLine($"Getcireit鎺ュ彛閿欒锛歿process?.Message}");
+//    }
+//}
+
+#endregion
+
+
+#region 鏍规嵁涓嶅悓鐨刧roup瀛樺��
+//if (group == "鐢垫皵")
+//{
+//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
+//                        .OrderBy(x => x.Dispatchtime)
+//                        .FirstOrDefault();
+//    var takeid = take?.Njtakeid;//鎷垮埌浠诲姟鍙�
+
+//    //璋冪敤Getcircuit鎷垮埌褰撳墠姝ラ
+//    var process = _processServer.Getcircuit(group, takeid);
+
+//    if (process != null && process.Status)
+//    {
+//        var list = JsonConvert.SerializeObject(process.Data);
+//        var dataz = JsonConvert.DeserializeObject<ProcessData>(list);
+
+//        if (dataz?.proNow != null)
+//        {
+
+//            int setpNum = dataz.proNow.SetpNum;
+//            int sum = dataz.proNow.TorqueSum;
+//            double torqueone = dataz.proNow.TorqueOne;
+//            int onequantity = dataz.proNow.TorqueOneQuantity;
+//            int towquantity = dataz.proNow.TorqueTwoQuantity;
+//            double torquetwo = dataz.proNow.TorqueTwo;
+//            Dt_TorqueOp Addop = new Dt_TorqueOp()
+//            {
+//                DeviceCode = devicecode,
+//                TakeId = takeid,
+//                GroupOp = group,
+//                ProcessSte = setpNum,
+//                TorqueSize = float.TryParse(torqueValue, out float torque) ? torque : 0.0f, // 杩欓噷杩涜瀛楃涓插埌float鐨勮浆鎹�
+//                CreateDate = DateTime.Now,
+//            };
+//            _orqueOpRepository.AddData(Addop);
+//        }
+//    }
+
+
+//    item.DeviceProParamName = CommandType.None.ToString();
+//}
+
+#endregion
\ No newline at end of file

--
Gitblit v1.9.3