LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#WinForm讀取電子秤數據

admin
2025年8月4日 18:13 本文熱度 520
一、效果展示

對接效果
測試工具
電子秤對接文檔
二、VS2022
界面設計
安裝System.IO.Ports
解析數據
引用
using System.IO.Ports;
代碼
namespace WinFormsApp2{    public partial class FormMeter : Form    {        private SerialPort serialPort = new SerialPort();
        public FormMeter()        {            InitializeComponent();            InitializeSettings();            this.FormClosing += MainForm_FormClosing;        }
        private void InitializeSettings()        {            // 初始化默認值            cmbBaudRate.SelectedIndex = 0;            cmbDataBits.SelectedIndex = 3;            cmbStopBits.SelectedIndex = 0;            cmbParity.SelectedIndex = 0;            RefreshPortList();        }
        //刷新串口        private void RefreshPortList()        {            cmbPort.Items.Clear();            string[] ports = SerialPort.GetPortNames();            cmbPort.Items.AddRange(ports);            if (ports.Length > 0) cmbPort.SelectedIndex = 0;        }
        //打開串口        private void btnOpen_Click(object sender, EventArgs e)        {            if (!serialPort.IsOpen)            {                try                {                    serialPort.PortName = cmbPort.Text;                    serialPort.BaudRate = int.Parse(cmbBaudRate.Text);                    serialPort.DataBits = int.Parse(cmbDataBits.Text);                    serialPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), cmbStopBits.Text);                    serialPort.Parity = (Parity)Enum.Parse(typeof(Parity), cmbParity.Text);
                    serialPort.Open();                    btnOpen.Text = "關閉串口";                    serialPort.DataReceived += SerialPort_DataReceived;                }                catch (Exception ex)                {                    MessageBox.Show($"打開失敗: {ex.Message}");                }            }            else            {                serialPort.Close();                btnOpen.Text = "打開串口";            }        }
        //關閉串口        private void btnSend_Click(object sender, EventArgs e)        {            if (serialPort.IsOpen && !string.IsNullOrEmpty(txtSend.Text))            {                try                {                    serialPort.WriteLine(txtSend.Text);                    txtReceived.AppendText($"[發送] {DateTime.Now:HH:mm:ss}{txtSend.Text}\r\n");                    txtSend.Clear();                }                catch (Exception ex)                {                    MessageBox.Show($"發送失敗: {ex.Message}");                }            }        }
        //接收事件        private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)        {            string data = serialPort.ReadExisting();            this.BeginInvoke(new Action(() =>            {
                txtReceived.AppendText($"{data}\r\n");                txtReceived.ScrollToCaret();
                //解析數據
                int SignStart = data.IndexOf(":");//標識位                if (SignStart < 0return;                int NumberStart = 5;//起始位                int NumberBits = 5;//截取長度
                string dataPart = data.Substring(SignStart + NumberStart, NumberBits); // 數據段
                txtSend.Invoke(new Action(() =>                {                    txtSend.Text = dataPart;                }));

            }));        }
        //關閉窗口        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)        {            if (serialPort.IsOpen) serialPort.Close();        }    }}


該文章在 2025/8/4 18:13:14 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩在线视频一区二区三 | 亚洲中文字幕在线区二 | 日本高清中文字幕视频在线 | 亚洲人成网站在线播放影院在线 | 在线一区二区三区免费 | 中文字幕久热精品 |