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