From e254696c0b579c24481e26355e46af3727a5b123 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 22 五月 2025 07:59:16 +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