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

C#WinForm读取电子秤数据网口通讯

admin
2025年8月16日 22:43 本文热度 48

一、效果展示

对接效果
测试工具
电子秤对接文档
二、VS2022
界面设计
解析数据
引用
using System.Net.Sockets;
代码
namespace WinFormsApp2{    public partial class FormMeterUdp : Form    {        public FormMeterUdp()        {            InitializeComponent();            this.FormClosing += MainForm_FormClosing;        }
        /// <summary>        /// 变量        /// </summary>        private int _localPort=60001;        private Socket _udpServer;

        //打开UDP服务        private void btnOpen_Click(object sender, EventArgs e)        {            try            {
                //1,创建socket                _udpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);                //2,绑定ip跟端口号                _udpServer.Bind(new IPEndPoint(IPAddress.Any, _localPort));
                Task.Run(new Action(() =>                {                    EndPoint remote = new IPEndPoint(IPAddress.Any, _localPort);                    while (true)                    {                        if (_udpServer.Available < 1)                            continue;                        try                        {                            byte[] data = new byte[1024];                            //接收数据                            int len = _udpServer.ReceiveFrom(data, ref remote);                            if (len == 0)                                continue;                            string receivemsg = Encoding.Default.GetString(data, 0, len);                            if (string.IsNullOrEmpty(receivemsg))                                continue;                            DataReceived(receivemsg);                        }                        catch (Exception)                        {                            continue;                        }                    }                }));            }            catch (Exception ex)            {                MessageBox.Show($"打开失败: {ex.Message}");            }
        }
        //解析数据        private void DataReceived(string receivemsg)        {            string data = receivemsg;            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 (_udpServer != null)                _udpServer.Close();        }    }}

阅读原文:原文链接


该文章在 2025/8/18 11:04:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved