999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#開發的手機彩盒稱重軟件

2019-05-14 08:25:10鄧小丁
數字技術與應用 2019年2期

鄧小丁

摘要:手機裝好彩盒后需要對彩盒進行稱重,以防止多裝或少裝附件。通過軟件分析電子秤上傳的數據,提取出重量。然后對提取出的重量與標準重量進行比對,并將結果保存于服務器的數據庫上。

關鍵詞:串口;正則表達式;多線程;重量穩定;委托

中圖分類號:TH715.1 文獻標識碼:A 文章編號:1007-9416(2019)02-0181-01

0 引言

手機在制造的過程中,需要裝手機及充電器、耳機、說明書等附件一起裝入彩盒內。為了檢查有沒有多裝或少裝附件,我們一般采用對彩盒進行稱重來判斷。當多裝附件時,一般重量會超過標準重量;當少裝附件時,一般重量會低于標準重。目前行業中很多企業還是采用人工稱重、人工判斷,這樣容易誤判斷且沒有數據記錄。筆者主要針對這情況開發了手機彩盒自動稱重并且記錄數據的軟件。

1 軟件實現

1.1 基本功能實現

電子秤一般采用串口向電腦上傳數據,c#中有SerialPort這個串口控件。在使用時,先初始化串口。通過SerialPort1.PortName、SerialPort1.BaudRate等設置好參數。

串口的數據接收采用事件SerialPort1.DataReceived自動觸發接收。由于電子秤上傳的數據可能是連續的、多數據的上傳,所以會一直觸發接收數據,可能會造成與主程序運行沖突。因此,在數據接收的時候,我們采用多線程技術,使得數據接收與主程序可以并行執行。

private void SerialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

{

Thread DataReceived_Thread = new Thread(new ThreadStart(DataReceived)); //新建線程

DataReceived_Thread.Start(); //啟動線程

}

下面是接收數據函數,調用SerialPort1.Read就可以讀取出串口上傳的數據。接收代碼例子如下:

private void Sp_DataReceived()

{

byte[] buffer= new Byte[SerialPort1.ReadBufferSize + 1];

int count=SerialPort1.Read(buffer,0,SerialPort1.ReadBufferSize);

if(count>1)

{

CommResult =CommResult + System.Text.Encoding.ASCII.GetString(buffer, 0, count);

}

}

接收到電子秤上傳的數據后,我們需要從這些數據里面提取出重量。我們用正則表達式提取。例如:G.W. :+ 0.76 kg U.W. :+ 0.00000 g/pcs Total: + 0pcs G.W. :+ 0.89 kg U.W. :+0.00010 g/pcs Total: + 2pcs。從中可以看到我們需要的是G.W. :+ 0.76 kg G.W. :+ 0.89 kg 這幾個數據就是重量。我們在采用正則表達式前可以先把一些特殊的字符去掉,比如空格和回車。這樣方便匹配不同數據格式的電子秤。

MatchCollection mat? = Regex.Matches(CommResult, @"\+\d{0,}\.(\d{0,})(kg)");

Console.WriteLine(CommResult);

Console.WriteLine(@"The Expression: \+\d{0,}\.(\d{0,})(kg)");

if (mat.Count >= 1)

{

weight= mat[mat.Count - 1].ToString(); //提取最后一次上傳的重量

weight=weight.Replace("+","");? //去掉重量前的+號

weight=weight.Replace("kg",""); //去掉重量后的kg

Console.WriteLine(weight);

}

程序運行結果如圖1:

這里的正則表達式"\+\d{0,}\.(\d{0,})(kg)"的意思是提取以+號開頭,kg結尾,中間為數字加小數點的數據。其他格式的數據修改正則表達式就可以。

1.2 軟件可靠性能的實現

在稱重過程中,一般電子秤顯示的重量是從0開始慢慢增加,甚至超過彩盒本身的重量,然后重量再慢慢穩定下來。所以程序還需要去判斷最終穩定下來的重量,這個重量才是彩盒真實的重量。所以優化算法,采用的方法是每次提取的重量緩存起來,然后和上次提取的重量進行比較,如果相差的值在門限范圍(Accuracy)內,比如在電子秤精度范圍內,認為這是一次穩定值。然后累計這個穩定值,當穩定值超過設定次數(Num),比如5次,認為這是最終的重量。因為不同電子秤它重量穩定的時間不一樣,所以這個穩定次數可以自己設置。穩定次數設置越大,軟件讀取重量的時間就會越長,所以需要根據實際的電子秤進行調節,以減少讀取時間。

最后,在線程里面將重量顯示在控件上weightout.text= weight.ToString()這個代碼會有問題。因為不能在線程里面去操作主線程上的控件,需要采用委托。修改如下:

public delegate void SetText(string txt); '聲明委托類型

var settxt = new SetText(DisplayWeight);

settxt(weight.ToString());

private void DisplayWeight(string txt)

{

weightout.Text=txt;

}

2 軟件總結

該程序采用串口控件SerialPort來讀取電子秤上傳的數據,并用正則表達式提取重量。將正則表達式保存在配置文件,使用者可以方便的修改正則表達式,從而使軟件適配所有的電子秤。利用多線程和委托,使得讀取電子秤數據和主程序可以并行運行,方便程序設計。通過算法優化,可以防止讀取不穩定的重量,減少程序的誤讀。該軟件已經在一些企業中使用,可以兼容各種型號的電子秤,重量讀取精度高且穩定。

參考文獻

[1] 李春葆,曾平,喻丹丹.C#程序設計教程(第3版)[M].清華大學出版社,2015.

[2] 魏汪洋,靳鯤鵬.C#從入門到精通[M].化學工業出版社,2011.

The Weighing Soft of Phone Box Based on C#

DENG Xiao-ding

(Heyuan Polytechnic,Heyuan Guangdong? ?517000)

Abstract:After the mobile phone packs in the box,it is necessary to weigh to prevent the more or less accessories.Analysis of the data uploaded by electronic scales through software,weight is extracted.Then the extracted weight is compared with the standard weight,and the result are saved in the server database.

Key words:serial port;regular expression;Multithreading;weight stability;delegate

主站蜘蛛池模板: 中文字幕天无码久久精品视频免费| 欧美乱妇高清无乱码免费| 制服丝袜国产精品| 99无码熟妇丰满人妻啪啪| 麻豆精品在线| 日韩美一区二区| 国产在线一区二区视频| 日本人又色又爽的视频| 久久精品这里只有精99品| 人妻精品全国免费视频| …亚洲 欧洲 另类 春色| 老司机午夜精品网站在线观看| 伊人成人在线| 亚洲成A人V欧美综合| 超碰91免费人妻| 日本午夜网站| 久99久热只有精品国产15| 欧美精品色视频| 中美日韩在线网免费毛片视频| 91黄视频在线观看| 老色鬼久久亚洲AV综合| 亚洲精品国偷自产在线91正片| 91在线日韩在线播放| 亚洲精品国产乱码不卡| 亚洲欧美另类日本| 狠狠色丁香婷婷| 四虎成人免费毛片| 香蕉在线视频网站| 亚洲欧美日韩成人在线| 日韩福利视频导航| 欧美国产在线看| 免费观看精品视频999| 九九线精品视频在线观看| 国产在线八区| 久久福利网| 亚洲中文精品人人永久免费| 色亚洲激情综合精品无码视频| 国产99热| 午夜福利视频一区| www中文字幕在线观看| 亚洲永久视频| 在线精品视频成人网| 亚洲精品桃花岛av在线| 日韩精品无码不卡无码| 伊人蕉久影院| 亚洲一区二区三区麻豆| 伊人91在线| 国产91av在线| 亚洲第一区欧美国产综合| 成人久久精品一区二区三区 | 成人看片欧美一区二区| 久久综合AV免费观看| 亚洲三级视频在线观看| 亚洲综合专区| 亚洲视频四区| 国产精品浪潮Av| 亚洲国产综合自在线另类| 2019年国产精品自拍不卡| 日韩高清一区 | 国产美女无遮挡免费视频网站| 国产精品久久久久鬼色| 伊人中文网| 四虎国产永久在线观看| 国产极品美女在线| 欧美一区国产| 99视频在线免费| 欧美一区国产| 精品国产Av电影无码久久久| 国产真实自在自线免费精品| 欧美人在线一区二区三区| 欧美日韩国产成人在线观看| 亚洲天堂2014| a色毛片免费视频| 超清无码熟妇人妻AV在线绿巨人 | 中文字幕在线看| 欧美午夜一区| 国产成人免费高清AⅤ| 午夜精品福利影院| 夜夜操天天摸| 久久人人97超碰人人澡爱香蕉| 国产精品欧美亚洲韩国日本不卡| 热re99久久精品国99热|