自動化設備上位機設計 四

目錄

一 設計原型

二 后臺代碼


一 設計原型

二 后臺代碼

using SimpleTCP;
using SqlSugar;
using System.Text;namespace 自動化上位機設計
{public partial class Form1 : Form{SqlHelper sqlHelper = new SqlHelper();SqlSugarClient dbContent = null;bool IsRun = false;int Count = 0;//數據收集對象EntryClass Datas = new EntryClass();//網絡通訊客戶端:長度測試儀器SimpleTcpClient client = new SimpleTcpClient();public Form1(){InitializeComponent();dbContent = sqlHelper.db;timer1.Enabled = true;timer1.Tick += Timer1_Tick;Task.Run(() =>{//設置編碼格式,默認是UTF8client.StringEncoder = System.Text.ASCIIEncoding.UTF8;//設置分隔符,默認是0x13client.Delimiter = Encoding.ASCII.GetBytes("\r")[0];//收到分割數據的事件,遇到分隔符就會觸發事件client.DelimiterDataReceived += (sender, msg) =>{AddLog("DelimiterStr-" + DateTime.Now.ToString() + msg.MessageString);};//收到數據的事件,可以在這里實現自己的協議client.DataReceived += (sender, msg) =>{//字節數組AddLog("字節數組Data:" + BitConverter.ToString(msg.Data));//字符串消息AddLog("字符串消息RDataseivedStr:" + msg.MessageString);//記錄長度數據Datas.Len = msg.MessageString;};client.Connect("127.0.0.1", 8899);});}private void Timer1_Tick(object? sender, EventArgs e){this.Invoke(() =>{uiLedDisplay1.Text = DateTime.Now.ToString("HH:mm:ss");});}private void Form1_Load(object sender, EventArgs e){sqlHelper.CreateTable<EntryClass>();//開始批量插入數據Task.Run(() => { AddData(); });}private void AddData(){while (true){if (!IsRun) continue;//Datas.Len = new Random().Next(200, 300).ToString();Datas.Width = new Random().Next(40, 300).ToString();Datas.Hight = new Random().Next(150, 250).ToString();Datas.R = new Random().Next(10, 360).ToString();Datas.Weit = new Random().Next(20, 30).ToString();Datas.ZY = new Random().Next(50, 90).ToString();Datas.DC = new Random().Next(40, 300).ToString();Datas.DR = new Random().Next(400, 600).ToString();Datas.YL = new Random().Next(28, 88).ToString();Datas.WD = new Random().Next(89, 900).ToString();Datas.SD = new Random().Next(234, 454).ToString();Datas.LJ = new Random().Next(67, 89).ToString();//沒有測量長度則不增加數據if (string.IsNullOrEmpty(Datas.Len)) continue;//數據放入數據庫中dbContent.Insertable(Datas).ExecuteCommand();this.Invoke(() =>{//同步展示參數CD.Text = Datas.Len;KD.Text = Datas.Width;GD.Text = Datas.Hight;JD.Text = Datas.R;ZL.Text = Datas.Weit;ZY.Text = Datas.ZY;DY.Text = Datas.DC;NZ.Text = Datas.DR;PRESS.Text = Datas.YL;CC.Text = Datas.WD;SD.Text = Datas.SD;LJJ.Text = Datas.LJ;//參數展示到集合中Data.Rows.Add(Datas.Len, Datas.Width, Datas.Hight, Datas.R, Datas.Weit, Datas.ZY, Datas.DC, Datas.DR, Datas.YL, Datas.WD, Datas.SD, Datas.LJ, DateTime.Now.ToShortTimeString(), "OK", "測試數據");//計數Count++;uiLedDisplay2.Text = Count.ToString();//打印日志RunLog.AppendText("設備運行中,數據已加入到數據庫\r\n");ErorrLog.AppendText("設備運行中,數據已加入到數據庫\r\n");Log.AppendText("設備運行中,數據已加入到數據庫\r\n");});Thread.Sleep(2000);}}private void uiSwitch1_ValueChanged(object sender, bool value){if (uiSwitch1.Active){uiLight1.OnColor = Color.Green;IsRun = true;RunLog.AppendText("設備啟動。。。\r\n");ErorrLog.AppendText("設備啟動。。。\r\n");Log.AppendText("設備啟動。。。\r\n");}else{uiLight1.OnColor = Color.Red;IsRun = false;RunLog.AppendText("設備停止。。。\r\n");ErorrLog.AppendText("設備停止。。。\r\n");Log.AppendText("設備停止。。。\r\n");}}private void AddLog(string msg){this.Invoke(() =>{//打印日志RunLog.AppendText($"{msg}\r\n");ErorrLog.AppendText($"{msg}\r\n");Log.AppendText($"{msg}\r\n");});}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42637.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42637.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42637.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 命名規范

開頭bool類型的變量常用縮寫 變量命名規范camelCase: 私有字段&#xff0c;局部變量&#xff0c;入參PascalCase: 命名空間、類名&#xff0c;方法名snake_ case、 kebab_case: 不使用 一般方法名稱遵守PascalCase命名規范例外情況: 異步方法異步方法例外情況 合理選擇單詞選擇…

【CSS】縮寫屬性place-items

place-items 是 CSS 中的一個簡寫屬性&#xff0c;它允許在相關的布局&#xff08;如 Grid 或 Flexbox&#xff09;中同時沿著塊級和內聯方向對齊元素。這個屬性是 align-items 和 justify-items 屬性的簡寫形式。如果未提供第二個值&#xff0c;則第一個值將作為第二個值的默認…

論文翻譯 | (DSP)展示-搜索-預測:為知識密集型自然語言處理組合檢索和語言模型

摘要 檢索增強式上下文學習已經成為一種強大的方法&#xff0c;利用凍結語言模型 (LM) 和檢索模型 (RM) 來解決知識密集型任務。現有工作將這些模型結合在簡單的“檢索-讀取”流程中&#xff0c;其中 RM 檢索到的段落被插入到 LM 提示中。 為了充分發揮凍結 LM 和 RM 的…

ARM/Linux嵌入式面經(十一):地平線嵌入式實習

地平線嵌入式實習面經 1.自我介紹 等著,在給大哥們準備了。 2.spi與iic協議可以連接多個設備嗎?最多多少個?通訊時序。 這是幾個問題,在回答的時候。不要一問就開口,花幾秒鐘沉吟思考整理一下自己的思路。 這個問題問了幾個點?每個點的回答步驟。 是我的話,我會采用以…

# Sharding-JDBC 從入門到精通(9)- 綜合案例(二)添加商品

Sharding-JDBC 從入門到精通&#xff08;9&#xff09;- 綜合案例&#xff08;二&#xff09;添加商品 一、Sharding-JDBC 綜合案例-添加商品-dao 1、在 shopping 子工程&#xff08;子模塊&#xff09;中&#xff0c;創建 dao 接口類 ProductDao.java /*** dbsharding\sh…

基于深度學習LightWeight的人體姿態之行為識別系統源碼

一. LightWeight概述 light weight openpose是openpose的簡化版本&#xff0c;使用了openpose的大體流程。 Light weight openpose和openpose的區別是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

哈希表——C語言

哈希表&#xff08;Hash Table&#xff09;是一種高效的數據結構&#xff0c;能夠在平均情況下實現常數時間的查找、插入和刪除操作。 哈希表的核心是哈希函數&#xff0c;哈希函數是一個將輸入數據&#xff08;通常稱為“鍵”或“key”&#xff09;轉換為固定長度的整數的函數…

Efficient Contrastive Learning for Fast and Accurate Inference on Graphs

發表于:ICML24 推薦指數: #paper/??? 創新點一顆星,證明三顆星(證明的不錯,值得借鑒,但是思路只能說還行吧) 如圖, 本文采取的創新點就是MLP用原始節點,GCN用鄰居節點的對比學習.這樣,可以加快運算速度 L E C L ? 1 ∣ V ∣ ∑ v ∈ V 1 ∣ N ( v ) ∣ ∑ u ∈ N ( v )…

一篇文章Scala語言入門

Scala是一種現代編程語言&#xff0c;它結合了面向對象編程和函數式編程的特性&#xff0c;使得編寫簡潔、可擴展和高效的代碼成為可能。 1. 什么是Scala&#xff1f; Scala&#xff08;Scalable Language&#xff09;是一種面向對象和函數式編程語言。它運行在JVM&#xff0…

k8s 部署 springboot 項目內存持續增長問題分析解決

寫在前面 工作中遇到&#xff0c;請教公司前輩解決&#xff0c;簡單整理記憶博文內容涉及一次 GC 問題的分析以及解決理解不足小伙伴幫忙指正 &#x1f603;,生活加油 99%的焦慮都來自于虛度時間和沒有好好做事&#xff0c;所以唯一的解決辦法就是行動起來&#xff0c;認真做完…

語音識別FBank特征提取學習筆記

語音識別就是把一段語音信號轉換成對應的文本信息&#xff0c;這一過程包括四個大的模塊&#xff0c;分別是&#xff1a;特征提取、聲學模型、語言模型、字典與解碼。 本篇就來梳理一下特征提取模塊的實現思路和方法。 常用的語音特征有&#xff1a; 梅爾頻率倒譜系數&#x…

學生管理系統(通過順序表,獲取連續堆區空間實現)

將學生的信息&#xff0c;以順序表的方式存儲&#xff08;堆區&#xff09;&#xff0c;并且實現封裝函數 &#xff1a; 1】順序表的創建&#xff0c; 2】判滿、 3】判空、 4】往順序表里增加學生信息、 5】遍歷學生信息 6】任意位置插入學生信息 7】任意位置刪除學生信…

0301STM32GPIO外設輸出

STM32GPIO外設輸出 STM32內部的GPIO外設GPIO簡介基本結構GPIO位結構輸入部分&#xff1a;輸出部分&#xff1a; GPIO八種工作模式浮空/上拉/下拉輸入模擬輸入開漏/推挽輸出復用開漏/推挽輸出 手冊寄存器描述GPIO功能描述外設的GPIO配置GPIO寄存器描述端口輸入數據寄存器端口輸出…

QT入門筆記-自定義控件封裝 30

具體代碼如下: QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 …

并查集(還有反集也在)

一.定義 定義&#xff1a; 并查集是一種樹型的數據結構&#xff0c;用于處理一些不相交集合的合并及查詢問題&#xff08;即所謂的并、查&#xff09;。比如說&#xff0c;我們可以用并查集來判斷一個森林中有幾棵樹、某個節點是否屬于某棵樹等。 主要構成&#xff1a; 并查集…

PHP-實例-文件上傳

1 需求 2 basename 在 PHP 中&#xff0c;basename() 函數用于返回路徑中的文件名部分。如果路徑中包含了文件擴展名&#xff0c;則該函數也會返回它。如果路徑的結尾有斜杠&#xff08;/&#xff09;或反斜杠&#xff08;\&#xff09;&#xff0c;則 basename() 函數會返回空…

Android計算器界面的設計——表格布局TableLayout實操

目錄 任務目標任務分析任務實施 任務目標 使用TextView、Button等實現一個計算器界面&#xff0c;界面如圖1所示。 圖1 計算器界面效果圖 任務分析 界面整體使用表格布局&#xff0c;第一行使用一個TextView控件&#xff0c;橫跨4列&#xff0c;中間4行4列&#xff0c;最后一…

Laravel HTTP客戶端:網絡請求的瑞士軍刀

標題&#xff1a;Laravel HTTP客戶端&#xff1a;網絡請求的瑞士軍刀 Laravel的HTTP客戶端是一個功能強大的工具&#xff0c;它提供了一種簡潔、直觀的方式來發送HTTP請求。無論是與外部API集成&#xff0c;還是進行網絡數據抓取&#xff0c;Laravel的HTTP客戶端都能滿足你的需…

小紅書選品中心商家采集 小紅書商家電話采集軟件

可采集名稱銷量評分聯系方式等 需要有1000粉絲以上已實名認證過的小紅書達人才可以使用 以下是一個示例程序&#xff0c;可以用于批量獲取小紅書選品中心商家的信息&#xff1a; import requestsdef get_merchants(page_num):url f"https://www.xiaohongshu.com/selec…

git 添加本地分支, clean

//以develop為源創建本地分支fromdevelop git checkout -b fromdevelop git add . git commit -m "local" git checkout -b local/dev //切換到遠程分支. git checkout dev git clean_git clean -f -d-CSDN博客 git clean -f -d #刪除當前目錄下沒有被track…