From 557bbc16b5341d4e9ba1352ec48e66fc573b88cb Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期二, 27 五月 2025 15:50:55 +0800 Subject: [PATCH] 检验 --- DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs | 90 +++++++++++++++++++++------------------------ 1 files changed, 42 insertions(+), 48 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs index acd0cb6..b5d95cc 100644 --- a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs +++ b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs @@ -1,6 +1,8 @@ 锘縰sing System; using System.Collections.Generic; using System.IO.Ports; +using System.Linq; +using System.Threading; using System.Timers; using System.Windows.Forms; using Gs.DevApp.Entity; @@ -17,17 +19,7 @@ /// 涓插彛绫� /// </summary> private SerialPort Sp = new SerialPort(); - /// <summary> - /// 鏇存柊UI濮旀墭锛屽彧瀹氫箟锛屼笉瀹炵幇 - /// </summary> - /// <param name="text"></param> - public delegate void HandleInterfaceUpdataDelegate(string text); - /// <summary> - /// 鏇存柊UI濮旀墭锛屽疄鐜� - /// </summary> - private HandleInterfaceUpdataDelegate interfaceUpdataHandle; - - System.Timers.Timer timer = new System.Timers.Timer(10000); // 1000姣闂撮殧 + System.Timers.Timer timer = new System.Timers.Timer(10000); public Frm_Work09() { InitializeComponent(); @@ -44,7 +36,6 @@ GetComList(); this.comLine.getSuppler(""); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); - } /// <summary> @@ -66,6 +57,7 @@ /// <param name="e"></param> private void btnStart_Click(object sender, EventArgs e) { + Sp.DataReceived -= new SerialDataReceivedEventHandler(Sp_DataReceived); string _comLine = comLine.GetId(); string _cmbSerialPortNum = cmbSerialPortNum.Text.Trim(); string _cmbBaudRate = cmbBaudRate.Text.Trim(); @@ -110,7 +102,6 @@ } try { - interfaceUpdataHandle = new HandleInterfaceUpdataDelegate(UpdateTextBox);//瀹炰緥鍖栧鎵樺璞� Sp.ReceivedBytesThreshold = 1; Sp.PortName = _cmbSerialPortNum; Sp.BaudRate = Convert.ToInt32(_cmbBaudRate);//璁剧疆娉㈢壒鐜� @@ -131,6 +122,8 @@ Gs.DevApp.ToolBox.MsgHelper.ShowError("鏃犳硶璇嗗埆鐨勫仠姝綅"); } Sp.DataBits = int.Parse(_comSjw); // 璁剧疆鏁版嵁浣� + //Sp.ReadTimeout = 500; // 璁剧疆瓒呮椂鏃堕棿锛屼緥濡�500姣 + //Sp.ReadBufferSize = 4096; // 璁剧疆缂撳啿鍖哄ぇ灏� Sp.DataReceived += new SerialDataReceivedEventHandler(Sp_DataReceived); Sp.ReceivedBytesThreshold = 1; LogHelper.Debug(this.ToString(), "鎵撳紑涓插彛閫氫俊PortName-" + Sp.PortName.ToString() + ",BaudRate-" + Sp.BaudRate.ToString() + ",StopBits-" + Sp.StopBits.ToString() + ",Parity-" + Sp.Parity.ToString()); @@ -156,15 +149,39 @@ /// <param name="e"></param> public void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { - string abc = string.Empty; + string _tmpStr = string.Empty; try { int i = Sp.BytesToRead; if (i > 0) { - abc = Sp.ReadExisting(); - LogHelper.Debug(this.ToString(), $"鐩戝惉鍒版暟鎹�:{abc}"); - this.Invoke(interfaceUpdataHandle, abc); + _tmpStr = Sp.ReadExisting(); + // Thread.Sleep(1000); + LogHelper.Debug(this.ToString(), $"鐩戝惉鍒版暟鎹紝瀛楄妭闀垮害:{i.ToString()}锛寋_tmpStr}"); + this.BeginInvoke(new Action(() => + { + txtMsg.AppendLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff->瀛楄妭鏁板瓧" + i.ToString() + "->") + _tmpStr); + //ST,GS,+ 250.2kg + if (_tmpStr.Length <= 0) + { + LogHelper.Debug(this.ToString(), "_tmpStr闀垮害<=0锛岄��鍑轰笂鎶�"); + return; + } + if (!_tmpStr.Contains("ST")) + { + LogHelper.Debug(this.ToString(), "_tmpStr閲嶉噺鐘舵�佷笉涓篠T锛岄��鍑轰笂鎶�"); + return; + } + if (!_tmpStr.Contains("+")) + { + LogHelper.Debug(this.ToString(), "_tmpStr涓嶅寘鍚噸閲�+锛岄��鍑轰笂鎶�"); + return; + } + string[] _ary=_tmpStr.Split('+'); + string abc = _ary.Last();//ST,GS, + txtNum.Text = (abc.Trim().Replace("k", "").Replace("g", "").Replace("S","").Replace("T","").Replace("G","").Replace(",","")); + addModel(txtNum.Text, _tmpStr); + })); } } catch (Exception ex) @@ -174,33 +191,7 @@ } } - /// <summary> - /// 鎺ュ彈鍒版暟鎹紝寮�濮嬪鐞嗘暟鎹� - /// </summary> - /// <param name="text"></param> - private void UpdateTextBox(string text) - { - //ST,GS,+ 250.2kg - string _tmpStr = text.Trim(); - if (_tmpStr.Length <= 0) - { - LogHelper.Debug(this.ToString(), "_tmpStr闀垮害<=0锛岄��鍑轰笂鎶�"); - return; - } - if (!_tmpStr.Contains("ST")) - { - LogHelper.Debug(this.ToString(), "_tmpStr閲嶉噺鐘舵�佷笉涓篠T锛岄��鍑轰笂鎶�"); - return; - } - if (!_tmpStr.Contains("+")) - { - LogHelper.Debug(this.ToString(), "_tmpStr閲嶉噺+锛岄��鍑轰笂鎶�"); - return; - } - _tmpStr = _tmpStr.Substring(7); - txtNum.Text = _tmpStr; - addModel(_tmpStr); - } + /// <summary> /// 鍚敤鎴栫鐢� /// </summary> @@ -218,13 +209,16 @@ /// <summary> /// 涓婁紶绉伴噸鏁版嵁 /// </summary> - private void addModel(string _realWeight) + /// <param name="_realWeight">鎴彇鍚庣殑鏁伴噺</param> + /// <param name="_realWeightTxt">鍘熷瓙涓�</param> + private void addModel(string _realWeight, string _realWeightTxt) { string _lineId = comLine.GetId(); var _obj = new { lineId = _lineId, - realWeight = _realWeight, + realWeight = _realWeight.Trim(), + realWeightTxt = _realWeightTxt.Trim(), }; try { @@ -269,9 +263,9 @@ } catch (Exception ex) { - MessageBox.Show("gvMx1:" + ex.Message); + Toast vm = new Toast(-1, "gvMx1:" + ex.Message); + vm.Show(); } } - } } \ No newline at end of file -- Gitblit v1.9.3