国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VB編程技術在汽車衡管理軟件上的應用

2012-06-02 01:34:04湖北省漳河工程管理局劉恒清
電子世界 2012年1期
關鍵詞:汽車衡數(shù)據(jù)表微機

湖北省漳河工程管理局 劉恒清

1.引言

Visual Basic(簡稱VB)是Windows環(huán)境下簡單、易學、高效的編程語言開發(fā)系統(tǒng),以其所見即所得的可視化界面設計風格和32位面向?qū)ο蟮某绦蛟O計等特點,已廣泛地應用于各個領域,是很多計算機軟件開發(fā)人員采用的開發(fā)工具。VB提供了良好的界面設計能力,提供了強大的數(shù)據(jù)庫訪問功能和微機串口通信功能。完全能夠滿足汽車衡管理系統(tǒng)的數(shù)據(jù)采集、處理和存儲要求。下面以SCS微機汽車衡稱重軟件為例,敘述VB軟件對系統(tǒng)中幾個重要功能程序的設計。

2.管理軟件功能需求

SCS微機汽車衡稱重系統(tǒng)主要通過計算機串口連接汽車衡稱重儀表,處理儀表所獲取的汽車重量信息,達到管理汽車稱重數(shù)據(jù)的目的。系統(tǒng)軟件要求達到的功能主要有:

(1)設置管理權限,達到操作人員分級登錄操作。

(2)記錄、貯存并打印每一次稱重結(jié)果。包括車號、貨物名稱、運貨單位、駕駛員、毛皮重、凈重、進出廠過磅時間、司磅員等內(nèi)容。

(3)查詢打印功能??砂窜囂?、時間范圍、司磅員、貨物種類、駕駛員等或任意組合查詢過去稱重記錄,并可打印輸出。

(4)統(tǒng)計打印功能??蓪ΨQ重結(jié)果自動進行統(tǒng)計,并打印各種報表,如月報、年報、分類報表等。

(5)數(shù)據(jù)維護功能。包括記錄限制修改和刪除,數(shù)據(jù)備份和導出。

在這個系統(tǒng)軟件中,重點是編寫數(shù)據(jù)采集的串口通信模塊和數(shù)據(jù)庫操作訪問功能程序。用Visual Basic編程語言來編制這些程序,也就要充分理解串口通信和數(shù)據(jù)庫訪問相關的控件特點和應用技術。

3.數(shù)據(jù)采集程序模塊的設計

3.1 選擇MSComm控件實現(xiàn)串口通信

用VB開發(fā)串口通信程序常用兩種方法,一種是利用WINDOWS的通信API函數(shù)實現(xiàn),另一種是采用VB內(nèi)集成的MSComm通信控件實現(xiàn)。在實例中選用MSComm控件實現(xiàn)串口通信的編程,該控件具有豐富的與串口通信密切相關的屬性和事件,提供了對串口的各種操作。在通信過程中,當發(fā)送數(shù)據(jù)、收到數(shù)據(jù)或產(chǎn)生傳輸錯誤時,觸發(fā)MSComm控件的OnComm事件,然后可以通過判斷CommEvent屬性值獲得事件類型,再根據(jù)事件類型進行相應數(shù)據(jù)處理。因此用其實現(xiàn)微機串口的數(shù)據(jù)通信相當簡單,以很少的程序代碼就可以輕松實現(xiàn)串口的訪問和數(shù)據(jù)通信。

3.2 儀表參數(shù)及其數(shù)據(jù)通信協(xié)議

以微機管理系統(tǒng)連接汽車衡XK3 19O-A9稱重顯示器為例。該儀表可連接8個35OΩ或12個7OOΩ的高精度稱重傳感器,用于測量汽車重量數(shù)據(jù)。儀表測量準確度為Ⅲ級(N=3OOO)按顯示分度值設置不同,測量范圍最大值1OO噸。該儀表具有RS-232/RS422(選配)串行通訊接口,能與微機進行串口數(shù)據(jù)通信,實時傳送檢測數(shù)據(jù)。

該儀表串口數(shù)據(jù)通信協(xié)議是:數(shù)據(jù)傳輸速率為6OO/12OO/24OO/96OObps(可選),數(shù)據(jù)格式(1O位):1位開始位,8位數(shù)據(jù)位(ASCⅡ編碼),1位停止位,無奇偶校驗位。通訊方式有連續(xù)方式和指令方式兩種,這里只列舉連續(xù)通訊方式中的格式。

所傳送的數(shù)據(jù)為儀表顯示的當前稱量(毛重或凈重)。每幀數(shù)據(jù)由1O組數(shù)據(jù)組成。格式如表1。

3.3 部分參數(shù)的技術說明

表1

(1)為滿足各種儀表參數(shù)和計算機不同運行環(huán)境的需要,把串口通信的一些參數(shù)用數(shù)據(jù)庫的表進行存放,程序通過讀取表數(shù)據(jù)來進行通信環(huán)境參數(shù)的設置。這樣做用戶可以修改數(shù)據(jù)表的數(shù)據(jù)來改變運行參數(shù),以滿足實際需要。

(2)為了提高接收數(shù)據(jù)的讀取速度,實現(xiàn)實時監(jiān)測功能,設置MSComm1的屬性RThreshold=4,接收緩沖區(qū)收到四個字節(jié)產(chǎn)生OnComm事件;InputLen=1,每次讀取一個字節(jié)。設置接收數(shù)據(jù)模式采用二進制形式,即InputMode=comInputM odeBinary。設置InBufferSize=5O(設置接收緩沖區(qū)為5O字節(jié)),OutBufferSize=2(設置發(fā)送緩沖區(qū)為2字節(jié))。

(3)定義一個Byte類型數(shù)組變量來存放重量數(shù)據(jù)值。注意用Input屬性讀取數(shù)據(jù)時,還要看儀表輸出數(shù)據(jù)位格式的編碼方式。壓縮的BCD碼存入Byte類型變量,VB系統(tǒng)只按十進制數(shù)處理,這要通過一個簡單算法換算,解壓BCD碼才能還原成十進制表示數(shù)值。本例ASCⅡ編碼直接賦值給數(shù)組Byte類型變量。

表2 本地表數(shù)據(jù)表結(jié)構(gòu)

表3 稱重數(shù)據(jù)表結(jié)構(gòu)

3.4 源程序代碼

系統(tǒng)數(shù)據(jù)庫db1.mdb建立一個名為“串口”的表,字段分別為串口、波特率、校驗、停止位、數(shù)據(jù)位、流控制,記錄串口運行參數(shù)設置信息。在窗體中添加名為MSComm1的MSComm控件,名為Label7顯示重量數(shù)據(jù)的標簽控件,名為Text3、Text4存貯毛重、皮重的文本框控件等。

串口初始化模塊:

4.數(shù)據(jù)庫程序模塊設計

4.1 數(shù)據(jù)庫表結(jié)構(gòu)設計

本例以Microsoft Access數(shù)據(jù)庫進行稱重數(shù)據(jù)的管理,建立db1.mdb數(shù)據(jù)庫。汽車衡完成一個稱重過程一般是某車號汽車稱毛重,再過皮重(或者稱重順序反調(diào))得出凈重后,數(shù)據(jù)存入數(shù)據(jù)表,打印報表。在實際稱重中稱毛重和過皮重的過程并不連續(xù),有時要連續(xù)稱幾臺汽車的毛重或皮重,因此必須建立一個用于存貯稱重暫存數(shù)據(jù)的表。在db1.mdb數(shù)據(jù)庫中建立報頭、帳戶、本地表、稱重、單位設置、歷史皮重、串口、物質(zhì)類別等數(shù)據(jù)表?!氨镜乇怼庇糜诖尜A歷史稱重數(shù)據(jù),“稱重”表存貯稱重暫存數(shù)據(jù),本例重點介紹“本地表”和“稱重”兩個關鍵表的結(jié)構(gòu)設計,如表2,表3所示。

4.2 數(shù)據(jù)庫編程

SCS微機汽車衡稱重軟件建立了“系統(tǒng)登錄”、“稱重管理”、“報表管理”等多個窗體,都涉及到對db1.mdb數(shù)據(jù)庫的編程,主要應用了Visual Basic對Access數(shù)據(jù)庫操作的編程語言。如:

[1]劉樂善,歐陽明星,等.微型計算機接口技術及應用[M].武漢:華中理工大學出版社,2001.

[2]龔沛曾,等.Visual Basic程序設計教程[M].北京:高等教育出版社,1998.

[3]XK3190—A9稱重顯示器使用說明書.上海耀華稱重系統(tǒng)公司.

猜你喜歡
汽車衡數(shù)據(jù)表微機
整車式動態(tài)汽車衡在高速公路治超中的應用
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
淺談動態(tài)汽車衡發(fā)展史
動態(tài)汽車衡準確度等級的現(xiàn)實意義
電力系統(tǒng)微機保護裝置的抗干擾措施
圖表
新型微機可控頂控制系統(tǒng)原理及現(xiàn)狀
基于VSL的動態(tài)數(shù)據(jù)表應用研究
河南科技(2014年24期)2014-02-27 14:19:25
郯城县| 正阳县| 黔西县| 梓潼县| 肇州县| 桂阳县| 穆棱市| 慈利县| 连城县| 武宣县| 海南省| 昌都县| 平塘县| 三穗县| 札达县| 玛纳斯县| 连南| 梁河县| 南阳市| 沂源县| 樟树市| 抚松县| 宝坻区| 延安市| 东阿县| 晋城| 昂仁县| 静安区| 兴业县| 河东区| 大安市| 汤阴县| 仁寿县| 呼图壁县| 保德县| 怀远县| 阜南县| 宿迁市| 青铜峡市| 天气| 微山县|