從地磅微機(jī)稱重系統(tǒng)建立的必要性,針對(duì)現(xiàn)有地磅裝置進(jìn)行改造,利用VB6和Sql server2000開(kāi)發(fā)實(shí)用地磅微機(jī)稱重系統(tǒng)。一方面發(fā)揮VB中的MSCOMM和TIMER控件的作用, 配合RS—422實(shí)現(xiàn)遠(yuǎn)距離通訊工作,完成稱重?cái)?shù)據(jù)的采集;另一方面利用攝像機(jī)和視頻采集卡進(jìn) 行視頻圖像抓拍,并引入兩個(gè)第三方控件BSGraphic和Ezvidcap對(duì)圖像進(jìn)行處理保存到數(shù)據(jù)庫(kù)中, 同時(shí)獲得車輛的有關(guān)信息和送料的外觀品質(zhì),便于當(dāng)前監(jiān)控和將來(lái)的監(jiān)管工作。所開(kāi)發(fā)的地磅系 統(tǒng)運(yùn)行良好,滿足了企業(yè)的實(shí)際需要.
地磅計(jì)量是企業(yè)物資計(jì)量的主要手段之一,但 在實(shí)際工作中由于管理手段和方法的不夠健全,尤 其技術(shù)手段的落伍,助長(zhǎng)了種種人為作弊現(xiàn)象;例如 送料車駕駛室乘車人數(shù)的變動(dòng),所送材料的品質(zhì)區(qū) 分,稱重?cái)?shù)據(jù)的人為因素,事后的進(jìn)一步跟蹤和追 查,傳統(tǒng)的地磅系統(tǒng)無(wú)從考證,加之人工操作不僅工 作量大、易出錯(cuò),尤其有關(guān)部門和上層管理者,面對(duì) 數(shù)量龐大的手工票據(jù)無(wú)法進(jìn)行有效的監(jiān)管,也易引 起矛盾,嚴(yán)重地影響了企業(yè)的管理和效益。而稱重 數(shù)據(jù)的自動(dòng)采集處理和視頻圖像抓拍部分是完善地磅監(jiān)控的重要一環(huán),為此引入微機(jī)稱重系統(tǒng)勢(shì)在必 行。
1.系統(tǒng)硬件設(shè)計(jì)
地磅微機(jī)系統(tǒng)主要由完成地磅工作的計(jì)算機(jī)和 企業(yè)的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)服務(wù)器組成,在地磅微機(jī)系統(tǒng)硬 件設(shè)計(jì)中,主要包括實(shí)現(xiàn)稱重?cái)?shù)據(jù)采集的傳感器、模 擬信號(hào)處理為數(shù)字信號(hào)的儀表(模塊)和實(shí)現(xiàn)視頻圖 像抓拍的攝像機(jī)和視頻采集卡。
1.1稱重?cái)?shù)據(jù)采集設(shè)備
本系統(tǒng)是在充分利用企業(yè)現(xiàn)有的地磅計(jì)量 系統(tǒng)的稱重傳感器和金元SCS — 80(XK3122)稱重 儀的基礎(chǔ)上,力求高性價(jià)比,進(jìn)行科學(xué)合理的改造, 即使網(wǎng)絡(luò)或計(jì)算機(jī)故障,稱重儀可按傳統(tǒng)的工作方 式完成稱重任務(wù),確保系統(tǒng)工作的可靠性。 232和RS — 422輸出端口,為了實(shí)現(xiàn)與計(jì)算機(jī)的遠(yuǎn) 距離通訊,完成稱重?cái)?shù)據(jù)的采集和處理,便于把地磅和調(diào)度工作合二為一,為便于配有不同標(biāo)準(zhǔn)串行接 口的計(jì)算機(jī)、外部設(shè)備或智能儀器之間進(jìn)行遠(yuǎn)程數(shù) 據(jù)通信,必須進(jìn)行標(biāo)準(zhǔn)串行接口的相互轉(zhuǎn)換,需要購(gòu) 置兩塊RS-232/RS-422 485FD接口轉(zhuǎn)換器。
1.2視頻采集設(shè)備
視頻監(jiān)控可采用傳統(tǒng)的錄像機(jī)及電視監(jiān)控、計(jì) 算機(jī)硬盤錄像,但由于這兩種方案一方面價(jià)格較高, 尤其不便于視頻圖像的處理和整個(gè)地磅系統(tǒng)的開(kāi)發(fā) 和管理,導(dǎo)致整個(gè)企業(yè)網(wǎng)絡(luò)數(shù)據(jù)共享存在視頻圖像 不到位的現(xiàn)象,有效的監(jiān)管不能進(jìn)一步落實(shí)。為此 采用攝像機(jī)加視頻采集卡實(shí)現(xiàn)視頻監(jiān)控不失為一種 切合實(shí)際而較理想的方案。
視頻源是圖像質(zhì)量的關(guān)健所在,為此選用分辨 高,圖像不抖動(dòng),在環(huán)境照度極底的情況下依然能夠 拍攝高清晰畫(huà)面,在惡劣環(huán)境下仍然適用的攝像機(jī)。 依據(jù)攝像機(jī)的性能指標(biāo)和實(shí)際試用情況,選用FN -4700C彩色槍式攝像機(jī)能滿呈需要。
視頻采集將視頻轉(zhuǎn)換成計(jì)算機(jī)可使用的數(shù)字格 式。圖象采集卡是將視頻信號(hào)經(jīng)經(jīng)數(shù)字解碼裝置、模/ 數(shù)轉(zhuǎn)換器、比例縮放、裁剪、色空變換等處理,經(jīng)過(guò) PCI總線傳到VGA卡實(shí)時(shí)顯示或傳到計(jì)算機(jī)內(nèi)存 存儲(chǔ)。在采集過(guò)程中,由于采集卡傳送數(shù)據(jù)采用 PCI Master Buist方式,圖象傳送速度高達(dá)幾十MB/S,可實(shí)現(xiàn)攝像機(jī)圖像到計(jì)算機(jī)內(nèi)存的可靠實(shí)時(shí)傳送,數(shù)據(jù)的傳送過(guò)程是由圖像卡控制的,并且?guī)?/span> 乎不占用CPU時(shí)間,留給CPU更多的時(shí)間去做圖 像的運(yùn)算與處理。依性能指標(biāo)和監(jiān)控點(diǎn)的實(shí)際情 況,選用兩塊SDK2000能滿足需要。
2.系統(tǒng)的軟件設(shè)計(jì)
在 WIN2000 ADVANCE SERVER 操作系統(tǒng)強(qiáng) 大的功能和安全性的支持下,利用SQLSERVER2000在服務(wù)器上建立網(wǎng)絡(luò)數(shù)據(jù)庫(kù),在客戶端采用 Office中的Access數(shù)據(jù)庫(kù)管理軟件建立數(shù)據(jù)庫(kù)文 件,以網(wǎng)絡(luò)工作方式為主,網(wǎng)絡(luò)故障時(shí),本地工作方 式發(fā)揮作用,確保地磅管理系統(tǒng)的運(yùn)行。利用vb6. 0開(kāi)發(fā)的管理應(yīng)用軟件操作簡(jiǎn)單易行、通用性強(qiáng),具 有很強(qiáng)的生命力和實(shí)用價(jià)值。
根據(jù)系統(tǒng)基本功能需要,規(guī)劃好系統(tǒng)的工作界 面,協(xié)調(diào)好各個(gè)程序模塊的分工,把它們相應(yīng)地分配 到工具條按鈕和菜單項(xiàng)事件中。設(shè)計(jì)開(kāi)發(fā)源程序應(yīng) 充分注意VB是面向?qū)ο蟮氖录?qū)動(dòng)的工作方式。 2.1系統(tǒng)功能規(guī)劃
根據(jù)地磅微機(jī)管理系統(tǒng)的實(shí)際功能需要,規(guī)劃 好功能模塊,以此設(shè)計(jì)和開(kāi)發(fā)各個(gè)模塊所對(duì)應(yīng)的軟 件代碼。功能模塊如下:系統(tǒng)管理模塊:完成用戶的 注冊(cè)和密碼的設(shè)置及系統(tǒng)的退出功能;
車輛管理模塊:完成車輛基本信息的錄入、查詢 和修改;
采集管理模塊:完成稱重空車和重車數(shù)據(jù)的采 集和處理,以及車前和車頂視頻圖像的抓拍和保存 工作;
查詢?yōu)g覽模塊:完成各種地磅信息的查詢和瀏 覽功能;
統(tǒng)計(jì)打印模塊:實(shí)現(xiàn)以單位、個(gè)人、日期、材料類 型、月報(bào)和年報(bào)等所需數(shù)據(jù)的統(tǒng)計(jì)和打印工作。
2.3數(shù)據(jù)庫(kù)建立
數(shù)據(jù)庫(kù)需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì) 和實(shí)現(xiàn),按照一般規(guī)律和要求處理即可。在地磅中 核心的表是存放來(lái)料的Et-material表(運(yùn)輸混凝土 的罐車表結(jié)構(gòu)與其基本類似)其結(jié)構(gòu)為:編號(hào)、供貨 單位/人、車號(hào)、材料名稱、材料規(guī)格、總重、皮重、扣 方量、操作員、滿車稱重時(shí)間、滿車車前圖片、滿車車 頂圖片、空車稱重時(shí)間、空車車前圖片、空車車頂圖 片、狀態(tài)標(biāo)志和備注。為了理解方便把字段內(nèi)涵進(jìn) 行了漢化解釋,此表為地衡工作的有效監(jiān)控提供了充分的數(shù)據(jù)保障。
3.軟件技術(shù)核心
3. 1SCS — 80串口 RS — 232通訊協(xié)議
由于SCS — 80(XK3122)稱重儀的通訊格 式得不到相關(guān)資料,只有利用VB6中的MSCOMM 控件開(kāi)發(fā)所需的串口通訊測(cè)試工具程序,揭示 SCS-80串口 RS — 232通訊協(xié)議的格式。例如60 公斤的重物在監(jiān)測(cè)時(shí)的一段數(shù)值為:B7 B1 B8 30 8D 11 82 AA 00 00 30 30 30 30 36 30 30 B2 B7 B1 B8 30 8D 11 82 AA 00 00 30 30 30 30 36 30 30 B2, B7 B1 B8 30 8D 11 82 AA 00 00 30 30 30 30 36 30 30 B2。它一直向外發(fā)送數(shù)據(jù),不需握手協(xié)議,特別 注意要多次對(duì)金元SCS — 80的通訊波特率和進(jìn)位 機(jī)制的改變,找出通訊協(xié)議的真正關(guān)健標(biāo)志,經(jīng)過(guò)反 復(fù)的測(cè)試和校驗(yàn)工作,明確SCS — 80串口 RS 一232通訊協(xié)議的格式,為稱重?cái)?shù)據(jù)采集程序的編 制工作奠定必要的基礎(chǔ)。
3. 2系統(tǒng)通訊程序
與通訊密切相關(guān)的是MSC0MM控件和定時(shí) 器有關(guān)屬性的設(shè)置工作;以及定時(shí)器事件中子過(guò)程 完成把稱重儀表的值送到計(jì)算機(jī),處理獲得所需數(shù) 據(jù),它是微機(jī)地磅管理系統(tǒng)的最核心和最基礎(chǔ)的工 作之一。下面就是定時(shí)器事件中子過(guò)程的具體代 碼,其間實(shí)現(xiàn)變量定義、所收到字節(jié)數(shù)的判斷、從接 受緩沖區(qū)中讀數(shù),循環(huán)1取出關(guān)健標(biāo)識(shí)8D,并為取 有效數(shù)值定位,循環(huán)2獲取具體數(shù)據(jù),最后把稱重儀 表的讀數(shù)在計(jì)算機(jī)的工作界面上顯示,并為后續(xù)工 作開(kāi)展奠定基礎(chǔ)。
Private Sub Timer1-Timer() ’ 屬于單工通訊。 On Erior Go To errdisplay : Dim i %, St %, W $ : Dim NetW As Long
Dim inbyte () As Byte : W = ” ”
If Me. MSComm1. InBufferCount < 36 Then ‘上位計(jì)算機(jī)RS一232串口要收到足夠的字節(jié)
Me. LabWeightValue. Caption = ”儀表出錯(cuò)”: Exit Sub End If
Me. MSComm 1. InputLen = 36 : inbyte = M e .M S Comm1 .In pu t
For i = LBound(inbyte) To UBound(inbyte)
If Hex (inby te (i) ) = ” 8D” T hen
St = i + 7 : Exit For End If
系統(tǒng)根據(jù)資源性能價(jià)格比和用戶需求調(diào)度最合適的 資源。
編程工具:網(wǎng)格應(yīng)提供多種工具、應(yīng)用、 API、Fori = St To St + 4 W = Trim $(W ) & Trim $ (Right $ (Hex (in- byte(i)),1))
Next i
NetW = Val(W) : Me. LabWeightValue. Cap-tion =CStr(NetW)
Me. LabWeightValue. Refresh : Me. Refresh ’
為讓儀表及時(shí)顯示所采集的結(jié)果 Exi t Sub errdisplay:
M e. LabWeightValue. Caption = ”儀表錯(cuò)”
End Sub
3.3系統(tǒng)視頻抓拍程序
在購(gòu)置視頻卡時(shí),隨卡的光盤上不僅有卡的驅(qū) 動(dòng)程序,還提供了二次開(kāi)發(fā)所需的開(kāi)發(fā)包,但其開(kāi)發(fā) 包中的動(dòng)態(tài)連接庫(kù)及其函數(shù)非常繁瑣,而且還需要 Win32的API,而且只能存為占據(jù)較大硬盤空間的
BMP格式文件這對(duì)存放圖片的Et-material表極為不利,為此在視頻監(jiān)控軟件設(shè)計(jì)部分引入兩個(gè)第三 方控件解決這些問(wèn)題。與視頻抓拍密切相關(guān)的是所 引入的兩個(gè)第三方控件BSGraphic和EZVidcap有 關(guān)屬性的設(shè)置工作;BSGraphic控件完成把屏幕上 的動(dòng)態(tài)監(jiān)視畫(huà)面按需抓拍一幅保存為BMP位圖文 件;EZVidcap控件實(shí)現(xiàn)把BM P位圖文件轉(zhuǎn)換(高壓 縮為)JPG文件,利用這兩個(gè)控件為視頻抓拍程序的 編制工作奠定了必要的基礎(chǔ)。設(shè)計(jì)時(shí),視頻抓拍代 碼放在保存子過(guò)程中,它是微機(jī)地磅管理系統(tǒng)中視 頻監(jiān)控的最核心和最基礎(chǔ)的工作之一,其有關(guān)視頻 監(jiān)控部分的具體代碼略。