LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#WinForm读取电子秤数据

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

对接效果
测试工具
电子秤对接文档
二、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