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

基于C#.NET的智能化地磅稱重管理系統(tǒng)

時間:2018-01-20 01:57:14   點擊數(shù):

針對目前地磅稱重數(shù)據(jù)管理效率低、智能化程度不高等缺點,設計了一種基于Visual Studio C# NET地磅稱重管理系統(tǒng),介紹了系統(tǒng)的模塊化構成,構建了稱重、查詢與統(tǒng)計、管理控制、系統(tǒng)維護等模塊的設計方法,闡述了利 SernlPort類實現(xiàn)具有軟件握手的CRC編碼串口通信以及通過動態(tài)配置策略實現(xiàn)安全性管理的方法。實驗結果及應用 表明:地磅稱重管理系統(tǒng)界面友好、操作簡單、數(shù)據(jù)傳輸穩(wěn)定,智能化程度高。

0.引言

稱重管理軟件是地磅稱重系統(tǒng)重要的組成部分⑴,與發(fā) 達國家相比,國內的地磅稱重管理軟件開發(fā)投入不夠、技術 含量低,因此研究一種新的智能化地磅管理軟件對提高地磅的工作效率、減少稱重誤差等具有重要意義。隨著計算機 技術的發(fā)展并與地磅稱重系統(tǒng)的結合,目前地磅管理軟件 性能有了很大的提高。然而,在提高數(shù)據(jù)的可靠性、統(tǒng)計檢索 的靈活性、數(shù)據(jù)一體化管理的規(guī)范性、報表可分析性、數(shù)據(jù)安全 性等方面,地磅稱重管理軟件仍需進一步完善。

文中以Visual Studio. NET環(huán)境下的C#吾言為開發(fā)工具,米 用SQL SERVER數(shù)據(jù)庫,設計一種地磅稱重管理系統(tǒng)。NET 平臺構建于開放的公共協(xié)議之上,采用虛擬機的設計理念,極 大地提高了開發(fā)效率。文中針對現(xiàn)有地磅管理軟件的不 足,重點研究了如何提高地磅數(shù)據(jù)錄入、提取及管理的智能 化程度。系統(tǒng)米用Crystal Report結合SQL Server 2005數(shù)據(jù)庫 作為報表管理方案,展現(xiàn)高度格式化的稱重信息,實現(xiàn)地磅稱重數(shù)據(jù)的直觀分析與管理的智能化。

1.智能化地磅的構成及原理

1.1智能化地磅的構成

智能化地磅稱重系統(tǒng)主要包括稱重傳感器、地磅 體、稱重信號采集與處理系統(tǒng)、用戶管理上位機系統(tǒng)PC)、人機 接口設備等部分,其結構如圖1所示。圖中,胳稱重傳感 器的稱重信號經調理、A/D后轉換為數(shù)字信號,經過MCU的稱 重數(shù)據(jù)處理后包括稱重融合、誤差補償?shù)?/span>,獲得稱量結果并 通過LCD顯示,同時系統(tǒng)實時將稱重數(shù)據(jù)傳送至上位機PC ,并利用稱重系統(tǒng)管理軟件,完成稱重數(shù)據(jù)的存儲、查詢、統(tǒng) 計、管理控制、打印等功能。

001.jpg

1.2智能化汽車重原理

地磅具有8路稱重傳感器。設各稱重傳感器輸出的稱量值為=1, 2,,8J即分布在各稱重傳感器上的載荷量8x = S,其中x為被測總載荷量);各稱重傳感器的輸出電壓為 i =1Ui (i =1, 2,,8);地磅總的輸出信號電壓為u則總稱重結 y[7-8]y = Kp u = Kp (U1 + U2 + + Us=K (k1 X1 + k, x + + k X8) = EKp ki xt (1)

式中:Kp地磅總的輸出信號電壓與總稱重結果的比例系 數(shù);k, (i =1, 2,,8)為各傳感器通道增益。

2.基于C# NET智能化地磅管理系統(tǒng)

地磅稱重管理系統(tǒng)主要由9個模塊構成,即系統(tǒng)登錄模 塊、稱重模塊、查詢統(tǒng)計模塊、設置模塊、管理控制模塊、系統(tǒng) 維護模塊、常用工具模塊、幫助模塊和退出模塊。

2.1地磅管理系統(tǒng)稱重模塊

稱重模塊是上位機稱重管理系統(tǒng)的重要組成部分,其與地磅下位機稱重模塊配合,共同獲得稱重數(shù)據(jù),也是系統(tǒng)的稱 重數(shù)據(jù)顯示儀表盤。地磅管理系統(tǒng)稱重模塊的流程圖如圖2 所示。

002.jpg

操作人員首先打開地磅稱重管理系統(tǒng)登錄界面,輸入用 戶名及密碼,進入稱重界面。在默認情況下,系統(tǒng)自動完成串 口的連接。此時系統(tǒng)自動生成單號,操作人員填寫車號,如果地磅秤體上加載有載荷,系統(tǒng)通過下位機稱重模塊完成被測 載荷的稱重,并將毛重、皮重、凈重等稱重信息通過串口傳送至 上位機;稱重模塊完成毛重、皮重等數(shù)據(jù)完整性判別后,獲得稱 重結果,并打印、保存相關數(shù)據(jù)。圖3為采用C# NET開發(fā)的稱 重模塊界面。

智能化的提示性信息顯示及輸入方式,降低人為干預度。 由于車號,品名,收、發(fā)單位等信息反復多次使用,系統(tǒng)采用的 自編輸入框控件在用戶輸入信息的同時,按符合度和使用頻率 這兩個條件以權重值0.30.7的比例,按順序把相應信息列 出在下拉框中。用戶測試顯示,對單條稱重信息輸入時,采用 智能化提示性信息輸入方式,比普通方式要快5?7 s 2 2基于C# NET的串行通信

基于C#. NET的智能化地磅管理系統(tǒng)通過RS- 232 行通信完成上位機PC與下位機MCU)的稱重信息、控制命令等數(shù)據(jù)傳遞。

Microsoft. NET Framework 2 0中提供了 SerialPort類,該類

主要實現(xiàn)串口數(shù)據(jù)通信等。SernlPort類提供了同步I/O和事 件驅動的I/O、對管腳和中斷狀態(tài)的訪問以及對串行驅動程序 屬性的訪問。SernlPort類的常用屬性和常用方法如表1 示。利用表1中的屬性和方法,實現(xiàn)智能化地磅系統(tǒng)中上位 機與下位機的數(shù)據(jù)傳輸。

003.jpg

利用 Microsoft. NET Framework 2 0中的 SerialPort類,實現(xiàn)地磅稱重系統(tǒng)上位機與下位機串口通信接收功能的主要程 序如下:

Private void serialPort1_DataReceived(object sender

System. D. Ports SerialDataReceivedEvenlArgs e)

{tf(flag= = false)//flag初始值為false,用于標識是否處理數(shù)據(jù)信

{if(1his serialPortl. ReadByte() = =0x0A) //判斷收到詢問信號'

0A'

{ 1his serialPortl. W rite (0x0B0,1); flag = ! flag; } } / /回復確認信號'B'

else if (flag = = true)

{ System. Threading; Thread Sleep (100); / 線程中斷 100暈秒 1his serialPort1. Read( rec—barray,04); / /i賣取緩沖區(qū)數(shù)據(jù) rec—barray—data = CRCdata(rec_barray,2); / 對接收 CRC編碼解碼 temp = Convert ToDouble (rec_barray_data[ 0 ] * 256 + rec—barmy—data[ 1 ]); /胺規(guī)約處理數(shù)據(jù) rec_dou = temp /100. 00; / /單位轉換 rec_strarray = Convert ToString( rec_dou); flag = ! flag;

SetText1 (rec_strarray); } } / /顯示數(shù)據(jù)

每當上位機串口緩沖區(qū)收到新數(shù)據(jù)時,g卩觸發(fā)此函數(shù)。 為了提高地磅稱重系統(tǒng)串口通信的抗干擾能力和降低 誤碼率,上位機與下位機通信采用了 CRC編碼技術,并設計了 一種握手協(xié)議,即對于每32 bit數(shù)據(jù),由下位機向上位機發(fā)送數(shù) 據(jù)傳輸詢問信號0A ,上位機接收到0A 信號后,向下位機發(fā) (0B 確認信號。下位機接收到‘0B 后傳輸2 bit數(shù)據(jù)信息, 上位機將數(shù)據(jù)按約定規(guī)則處理后顯示。若下位機沒有收到‘OB 確認信號,下位機將持續(xù)向上位機發(fā)送詢問信號,上位機 數(shù)據(jù)信息保持不變,避免因干擾而產生數(shù)據(jù)大幅振蕩。若此狀 態(tài)超過2 s,系統(tǒng)將彈出串口通信異常警告對話框。實驗表明, 采用這種方法后,數(shù)據(jù)通信誤差由實施前的<0.05%降低到< 0.01%。

2.3查詢統(tǒng)計模塊

地磅稱重系統(tǒng)產生地稱重數(shù)據(jù)被保存在數(shù)據(jù)庫中,管理 員能夠在查詢統(tǒng)計界面根據(jù)條件查詢稱重信息,系統(tǒng)自動統(tǒng)計 結果,包括單數(shù)、總毛重量、總皮重量、總凈重量、總扣雜量等。 具備權限的管理員,可以直接修改列表框中的稱重信息,改動 后,系統(tǒng)提示是否保存當前的修改。系統(tǒng)采用水晶報表設計器 生成統(tǒng)計報表。

地磅稱重管理系統(tǒng)查詢功能分為模糊查詢和精確查詢。 默認情況下,系統(tǒng)采用模糊查詢。這兩種查詢方式通過編寫相應的SQL查詢語句“select字段1,字段2 where字段1 like參數(shù)'字段2 like 參數(shù)……”select字段1,字段2…… where字段1 is參數(shù)'字段2 is參數(shù)……”實現(xiàn)SQL SERVER提供了這2種查詢的方法。

2.4管理控制模塊

管理控制模塊要求使用者具有系統(tǒng)管理員權限。其主要 功能有:快速修改指定單號的稱重信息、系統(tǒng)用戶管理、打印機 參數(shù)設置、新增過鎊單、起始單號設置、刪除數(shù)據(jù)表信息、串口 參數(shù)設置及測試等。

新增系統(tǒng)用戶時,同時設置其初始密碼及權限。用戶權限 分為:超級管理員、普通管理員、普通用戶。使用者登錄時,系 統(tǒng)根據(jù)用戶名判斷其權限,自動加載相應模塊。

2.5系統(tǒng)維護模塊

系統(tǒng)維護模塊為保護數(shù)據(jù)安全制定策略和設定參數(shù)。為 提咼數(shù)據(jù)安全性,程序使用DateTime; Now. Month()方法獲取月 份,與寫入動態(tài)配置的Properties Settings Default Month信息比 較,判定其是否跳變,在每月第一天自動備份當前表,包括:鎊 單表、皮重表、品名表、單位表、用戶表。備份文件的存放地址 可由管理員設定。還原時,找到對應備份文件即可。備份文件 的命名默認為該文件的生成日期。

系統(tǒng)除自動備份外,管理員還可以在任意時刻主動備份當 前表于指定位置,以降低每月中期數(shù)據(jù)意外損失的風險。

3.實驗結果

根據(jù)國家標準《非自動秤通用檢定規(guī)程JJG555 - 1996鄉(xiāng) 規(guī)定[10],對研制的智能化汽車衡進行現(xiàn)場檢定,檢定結果如表 2所示。表中,I、分別表示最小秤量,最大秤量。

004.jpg

005.jpg

從表2可以看出,智能化地磅的稱重結果誤差小,優(yōu)于國家標準規(guī)定的三級秤指標。

4.結束語

文中以Visual Studio 2005為開發(fā)平臺,研制了一種基于C# NET的智能化地磅稱重管理系統(tǒng),其具有操作簡單、人工干預少、智能化程度高以及數(shù)據(jù)收發(fā)穩(wěn)定等優(yōu)點。檢定表明,采用此管理系統(tǒng)的智能化地磅測量準確度高,實現(xiàn)了稱重數(shù)據(jù)的高效安全管理,已批量生產。