欧美日韩久久伊人精品亚洲|亚洲欧美日韩精品久久3|亚洲国产精品日韩在线观看|秒播欧美一区二区三区在线观看

您當(dāng)前的位置:首頁>>新聞中心>>志榮動態(tài)

基于串口仿真的地磅模擬系統(tǒng)的研究與應(yīng)用

時間:2017-03-01 01:18:05   點擊數(shù):

基于串口仿真的地磅模擬系統(tǒng)的研究與應(yīng)用
 
Asp.NetC#)和串口通信仿真系統(tǒng),根據(jù)不同型號
地磅的數(shù)據(jù)協(xié)議規(guī)則,模擬地磅稱重向串口連續(xù)發(fā)送數(shù)據(jù),C#根據(jù)接收到的十六進(jìn)制數(shù)據(jù)進(jìn)行截取轉(zhuǎn)化計算,實時顯示稱重重量,很好地解決了程序開發(fā)過程中調(diào)試問題,極大縮短了系統(tǒng)開發(fā)時間,提高了系統(tǒng)穩(wěn)定性。
地磅也被稱為汽車衡,是大宗貨物計量的主要稱重設(shè)備。串口因具有接線簡單、傳輸距離長、穩(wěn)定可靠等優(yōu)點,而被廣泛應(yīng)用于工業(yè)控制系統(tǒng)之中,是計算機與地磅等硬件設(shè)備進(jìn)行數(shù)據(jù)通信的重要方式之一。由于地磅的特殊性及串口獨占性,給程序開發(fā)調(diào)試及系統(tǒng)實施帶來了諸多不利因素,因此,本文提出一種基于串口仿真的地磅模擬系統(tǒng),根據(jù)不同型號地磅的數(shù)據(jù)協(xié)議規(guī)則,向串口連續(xù)發(fā)送數(shù)據(jù),C#根據(jù)接收到的十六進(jìn)制數(shù)據(jù)進(jìn)行截取轉(zhuǎn)化計算,實時顯示稱重重量,模擬開發(fā)系統(tǒng)可直接通過串口連接實物,極大縮短了系統(tǒng)開發(fā)時間,提高了系統(tǒng)穩(wěn)定性。
1.虛擬串口
虛擬串口是用操作系統(tǒng)的虛擬驅(qū)動技術(shù)產(chǎn)生的串口,相對于計算機本身的硬件串口來說虛擬串口并不對應(yīng)一個物理上的串口,但是計算機應(yīng)用軟件可以像硬件串口一樣地使用虛擬串口,對于串口軟件來說虛擬串口和硬件串口并沒有區(qū)別。本文采用虛擬串口工具(   Virtual  Serial  Port  Driver  6.9)添加兩個虛擬串口  Com3  Com4,實現(xiàn)數(shù)據(jù)的發(fā)送與接收,如圖 1所示。
串口1.png
2.串口調(diào)試
利用虛擬串口    Com3,設(shè)置波特率、校驗位、數(shù)據(jù)位及停止位等參數(shù),根據(jù)不同型號地磅的數(shù)據(jù)協(xié)議規(guī)則,向Com3連續(xù)發(fā)送十六進(jìn)制數(shù)據(jù)。本文采用托利多型號數(shù)據(jù)規(guī)則進(jìn)行數(shù)據(jù)模擬,數(shù)據(jù)輸出格式為:   02 72  60 20  30  30 36  36 37 35  30 30 30  30 30 30  0D 4E。托利多輸出格式如圖  2所示。其中:1.起始符     (02H);2.狀態(tài)字;3.顯示重量,6位不帶符號和小數(shù)點的數(shù)字;   4.皮重值,   6位不帶字符和小數(shù)點的數(shù)字; 5.結(jié)束符(  0DH);6.波特率、校驗位、數(shù)據(jù)位、停止位參照實際地磅設(shè)置參數(shù)。
串口2.jpg圖片1.png
3.系統(tǒng)開發(fā)
3.1串口初始化
采用  C#    SerialPort       PortNameBaudRate、DataBits、Parity、StopBits屬性分別設(shè)置通訊格式中的串口名、波特率、數(shù)據(jù)位、校驗位、停止位,參數(shù)配置與圖 3設(shè)置一致。serialPort.PortName   =  Com3;
serialPort.BaudRate   =  9600
serialPort.DataBits   = 8;
serialPort.Parity   = Parity.None;
serialPort.StopBits=   StopBits.One;
3.2數(shù)據(jù)接收與處理
采用  C#  SerialPort  DataReceived事件接收串口發(fā)送的數(shù)據(jù),根據(jù)獲取數(shù)據(jù)的    ASCII表進(jìn)行十進(jìn)制轉(zhuǎn)化。運行程序如下。
f (receivedData[i]    > 47 &&  receivedData   [i] <  59) //接收的數(shù)據(jù)
}
double  weight  = 0; //定義重量
for (int  i = 0;  i < data.Length;   i++)
{//根據(jù)十進(jìn)制數(shù)組按個、十、百、千位進(jìn)行累加
weight  += Convert.ToInt32(data[i]    * Math.Pow(10,   data.
Length  - i - 1));
運行效果如圖  4所示.
串口3.jpg圖片1.png
4.結(jié)束語
筆者采用串口仿真技術(shù)有效解決了地磅等實物不宜調(diào)試的問題,提高了程序開發(fā)效率。并且有效解決了系統(tǒng)連續(xù)運行穩(wěn)定性問題,仿真技術(shù)可直接應(yīng)用到實際項目中。