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