黄页网站一区_天堂av中文在线观看_亚洲精品亚洲人成人网_欧美亚洲国产精品久久

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

時間:2017-06-27 03:34:23   點擊數(shù):

本文通過對一個汽車衡管理系統(tǒng)軟件的編程過程,介紹了用VB6.0編程軟件在汽車衡管理系統(tǒng)中的技術應用

1.引言

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

2.管理軟件功能需求

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

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

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

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

4統(tǒng)計打印功能。可對稱重 結果自動進行統(tǒng)計,并打印各種報 表,如月報、年報、分類報表等。

5數(shù)據(jù)維護功能。包括記錄

限制修改和刪除,數(shù)據(jù)備份和導出。

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

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

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

VB開發(fā)串口通信程序常用兩 種方法,一種是利用WINDOWS的通 API函數(shù)實現(xiàn),另一種是采用VB 內集成的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 190-A9稱重顯示器為例。該儀表可 連接8350 012700 0的高精度稱 重傳感器,用于測量汽車重量數(shù)據(jù)。 儀表測量準確度為IIIN=3000) 按顯示分度值設置不同,測量范圍 最大值100噸。該儀表具有RS-232/ RS422 (選配串行通訊接口,能與 微機進行串口數(shù)據(jù)通信,實時傳送 檢測數(shù)據(jù)。

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

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

云網(wǎng)客1.jpg

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

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=50 (設置接收緩沖區(qū)為50字節(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ù)值。本例ASCII編碼直接 賦值給數(shù)組Byte類型變量。

3.4源程序代碼 系統(tǒng)數(shù)據(jù)庫dbl. mdb建立一個名 ‘‘串口的表,字段分別為串口、 波特率、校驗、停止位、數(shù)據(jù)位、 流控制,記錄串口運行參數(shù)設置信 息。在窗體中添加名為MSComml MSComm控件,名為Label7顯示重量 數(shù)據(jù)的標簽控件,名為Text3Text4存貯毛重、皮重的文本框控件等。 串口初始化模塊:

云網(wǎng)客2.jpg

Private Sub Form—Load() MSComml.CommPort = rec(“ 賦值串口端口號,本例為COM1 MSComml.Settings = rec(“ 特率)& ",n, 8,1" ‘無奇偶校 驗,8位數(shù)據(jù)位,1位停止位 MSComml.InputLen = 1 MSComml.RThreshold = 4 If MSComml.PortOpen = False Then ‘判斷串口端口是否打開 MSComml.PortOpen = True ‘打開端口 Else

MsgBox ‘‘串行端口號已被占用, 請選擇其它端口!”, vbCritical + vbOKOnly, 系統(tǒng)信息

Exit Sub

數(shù)據(jù)讀取、轉換及顯示模塊: Private Sub MSComml_OnComm() Dim buf() As Byte ‘定義一個數(shù)據(jù)變量 If MSComml. CommEvent = 2 Then ‘判斷接收緩沖區(qū)內字符數(shù) 達到Rthreshold指定的值 buf = MSComml.Input ‘讀取一個字節(jié) If buf(0) = 2 Then 判斷是否為開02(XON)開始 c2 = buf

‘以下讀取各位重量數(shù)據(jù)分別賦值 c3 = bufc4 = bufc5 = buf(4) c6 = buf(5) c7 = buf(6) c8 = buf(7)

以下為對各位字節(jié)數(shù)據(jù)進行轉 換和組合顯示

shuju = Chr (c2) + Chr (c3) + Chr(c4) + Chr (c5) + Chr (c6) + Chr (c7) + Chr (c8) Label7. Caption =shuju ‘賦值顯示

If Optionl.Value=True Then ‘Optionl為毛重選項。判斷是 Optionl被選中

Text3. Text = Val(Label7. Caption) ‘賦值給毛重文本控件 End If

I f Opti on2 . Val ue = True Then ‘Option2l為皮重選

項。判斷是否Option2被選中

Text4. Text = Val(Label7. Caption) ‘賦值給皮重文本控件 End If

LabellO. Caption= 數(shù)據(jù)穩(wěn)定!Else

LabellO. Caption = “連接正 常,但數(shù)據(jù)不穩(wěn)定...!〃

MSComml. PortOpen = False ‘重新關閉和開啟串口端口 MSComml.PortOpen = True

End If End If End Sub

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

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

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

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

dim conn as new adodb. connec-tion

dim rs as new adodb. recordset

連接數(shù)據(jù)庫

with conn

If . StateOadstateclosed Then .Close

.ConnectionString = “pro -vider=Microsoft.Jet.0LEDB.4.0; Data Source=” & App.path & 數(shù)據(jù)庫名.mdb;Mode=ReadWrite; Persist Security Info=False” .Open End With 查詢記錄

if rs. stateOadstateclosed then rs.close

rs.open “select * from connadopenkeysetadlockre adonly

set mshflexgrid1.datasource

=rs

rs.close 新增記錄

conn. execute “insert into 表名...values(...)”

修改記錄

conn. execute “update 表名 set ... where ...”

刪除記錄

conn. execute “delete from where... 等等,鑒于論文篇幅 的限制本例數(shù)據(jù)庫編程源代碼略

 

 


黄页网站一区_天堂av中文在线观看_亚洲精品亚洲人成人网_欧美亚洲国产精品久久
一本大道久久a久久精品综合| 国产精品久久久久久久免费软件 | 欧美丰满少妇xxxbbb| 久久精品视频一| 99热在这里有精品免费| 亚洲国产欧美一区二区三区久久 | 夜夜嗨av一区二区三区网站四季av| 亚洲丰满少妇videoshd| 亚洲精品视频在线播放| 亚洲一级二级在线| 久久免费视频观看| 欧美日韩一区在线观看视频| 国产亚洲va综合人人澡精品| 亚洲黄色大片| 久久久精品网| 国产亚洲在线| 欧美成人福利视频| 欧美性开放视频| 久久av资源网| 午夜精品久久久久久久99樱桃| 日韩视频永久免费观看| 久久中文在线| 亚洲大胆美女视频| 久热精品视频在线观看| 欧美人与性动交α欧美精品济南到| 国产精品久久一区主播| 亚洲高清视频中文字幕| 亚洲欧美日韩国产一区二区| 欧美精品二区| 亚洲免费大片| 欧美精品久久久久久久久久| 激情综合激情| 久久av一区二区三区亚洲| 国产精品美女xx| 亚洲欧美激情精品一区二区| 欧美日韩在线第一页| 在线亚洲观看| 国产精品美女久久久久久久| 亚洲先锋成人| 国产精品丝袜xxxxxxx| 亚洲日韩视频| 国产精品成人免费视频 | 亚洲午夜精品国产| 欧美午夜精品| 欧美一级一区| 亚洲国产精品尤物yw在线观看 | 欧美日韩国产丝袜另类| 亚洲精品自在在线观看| 欧美日韩一区在线| 欧美一级大片在线观看| 激情成人综合| 欧美日本一道本在线视频| 亚洲一区二区视频| 1769国产精品| 国产精品自拍三区| 欧美精品成人91久久久久久久| 性欧美长视频| 亚洲一区综合| 一区二区三区www| 亚洲春色另类小说| 一区二区三区在线视频播放| 国产精品免费观看视频| 欧美日韩麻豆| 欧美伦理91i| 欧美激情一区二区三区在线视频观看 | 亚洲精品一区二区三区不| 国产亚洲a∨片在线观看| 国产精品国内视频| 国产精品成人免费视频 | 亚洲国产精品一区二区久| 国产精品久久久久免费a∨| 美女主播精品视频一二三四| 小黄鸭精品aⅴ导航网站入口| 国产精品99久久久久久久久久久久 | 亚洲欧美另类国产| 艳妇臀荡乳欲伦亚洲一区| 亚洲国产婷婷香蕉久久久久久99| 韩国av一区二区| 亚洲国产精品嫩草影院| 亚洲国产精品一区二区第四页av| 在线视频观看日韩| 国产精品影片在线观看| 国产精品久久久久久一区二区三区 | 亚洲天堂av在线免费| 一片黄亚洲嫩模| 香蕉乱码成人久久天堂爱免费 | 亚洲综合色婷婷| 性做久久久久久久久| 欧美在线91| 国产午夜久久久久| 久久本道综合色狠狠五月| 亚洲一区二区三区中文字幕在线| 亚洲视频在线视频| 久久全球大尺度高清视频| 欧美高清在线播放| 国产精品嫩草99a| 亚洲青涩在线| 久久精品在这里| 国产精品久久久久aaaa| 亚洲大片一区二区三区| 亚洲欧美经典视频| 欧美午夜国产| 洋洋av久久久久久久一区| 久久久成人精品| 国产精品乱子乱xxxx| 亚洲狼人综合| 欧美女激情福利| 亚洲日本激情| 欧美大片免费久久精品三p| 国产精品网站在线观看| 亚洲网站在线| 国产模特精品视频久久久久| 亚洲午夜视频在线观看| 欧美日韩国产123区| 欧美在线影院| 久久琪琪电影院| 亚洲午夜电影在线观看| 一区二区三区视频在线看| 亚洲天堂视频在线观看| 欧美日韩大片| 亚洲欧洲一区二区在线观看 | 欧美一区二区私人影院日本| 欧美午夜久久久| 亚洲一区高清| 激情自拍一区| 免费久久99精品国产自| 亚洲激情视频在线| 欧美日韩精品三区| 亚洲专区一区二区三区| 国产亚洲欧美另类中文| 欧美sm重口味系列视频在线观看| 亚洲区一区二区三区| 国产精品人成在线观看免费| 国产精品日韩一区二区| 欧美一区二区三区男人的天堂| 在线观看视频一区二区欧美日韩| 久久精品99| 亚洲精品影院| 国产日韩亚洲欧美综合| 欧美在线一二三| 激情综合激情| 国产精品爽黄69| 欧美日韩免费看| 午夜精品久久久久99热蜜桃导演| 一区免费视频| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲在线1234| 亚洲清纯自拍| 亚洲国产天堂久久综合| 国产亚洲成年网址在线观看| 欧美日韩亚洲综合| 久久久视频精品| 午夜亚洲福利| 亚洲欧美国产高清va在线播| 激情欧美一区二区| 国产日韩一区| 国产日韩一区二区三区在线播放 | 欧美在线播放视频| 好看的日韩视频| 国产精品露脸自拍| 欧美日韩国产综合一区二区| 欧美激情国产日韩精品一区18| 亚洲视频精品在线| 欧美激情精品久久久久久变态 | 国产精品卡一卡二| 欧美区在线播放| 欧美日韩伦理在线| 欧美呦呦网站| 久久综合综合久久综合| 久久gogo国模裸体人体| 美女在线一区二区| 国产精品久久久久9999| 国产视频一区在线观看| 红桃视频一区| 日韩网站在线| 亚欧成人在线| 欧美精品少妇一区二区三区| 欧美视频网址| 国产视频精品va久久久久久| 老司机免费视频一区二区| 亚洲剧情一区二区| 国产精品免费电影| 国产亚洲精品久久飘花| 国内精品嫩模av私拍在线观看| 国产欧美一区二区色老头| 欧美日本久久| 国产欧美日韩不卡免费| 亚洲乱码国产乱码精品精98午夜| 亚洲一级黄色片| 欧美日韩爆操| 亚洲经典视频在线观看| 亚洲一区区二区| 欧美激情在线播放| 国产一区二区三区在线观看精品| 一区二区三区视频观看| 久久久久久午夜| 亚洲韩国日本中文字幕| 一区二区三区在线免费视频| 国产一区二区三区视频在线观看 | 亚洲激情成人在线|