- 相關推薦
基于Visual Basic快速開發現場電視監控系統
基于Visual Basic快速開發現場電視監控系統 中國科技大學 鄭豪杰金西 蔣宗洲 合肥華恒網絡技術有限技術公司 黃汪摘要: 本文介紹了一種用Visual Basic快速開發現場電視實時監控系統的方法,該方法簡單方便、成本低廉,具有一定的實用價值。實時監控系統投入使用可有效地提高電視臺或交通部門的工作效率。
關鍵詞:VB電視監控系統ActiveX
隨著電視監視器材、計算機技術的日益發展,圖形監視系統在電視系統或監控場所得到了廣泛地應用。用圖形來實時顯示被控對象(攝像機、終端設備等)在操作過程中的狀態,具有清晰明了、形象直觀且可以及時處理反饋信息。它比數字儀表包含的信息量大得多,因此使現場監控人員的工作方式得到了改進,效率也由此得到了很大的提高。
現場電視監控系統由實時控制系統、監視系統及管理信息系統組成。實時控制系統完成實時數據采集處理、存儲、反饋的功能;監視系統完成對各個監控點的全天候的監視,能在多操作控制點上自動或手動切換多路圖像,能遙控前端設備,能使攝像鏡頭自動對焦等;管理信息系統完成各類所需信息的采集、接收、傳輸、加工、處理,是整個系統的控制核心。
目前的圖形實時監控軟件通常用VC或VC 開發,它對軟件開發人員要求很高,而且開發周期較長,開發難度也偏大。如果利用Visual Basic(VB)來開發有關的監控系統,就能較好地解決上述問題。
1設計思路與技術路線
由于Visual Basic在界面制作上的優越性,我們采用Visual Basic來進行系統的快速開發。本系統必須對硬件進行實時監視控制,從而實現監控功能。要利用VB來開發就必須先解決VB不能直接訪問低層硬件的問題,也就是要提出用VB訪問低層硬件的解決方案。我們為本系統確定了下列設計方案:讓VB去調用DLL文件,再讓DLL去調用VxD文件,通過VxD文件實現對低層硬件的實時控制,再通過寫并行端口實現硬件電路的切換。這樣,即克服了VB不能直接訪問低層硬件缺點,又發揮了VB在界面和開發速度上的優點。本系統主控模塊如圖1所示。主控模塊是監視中心的主界面,它分為手動模塊、自動模塊、退出模塊三個子模塊。手動子模塊又分為鍵盤控制和鼠標控制,主要為了監控中心人員靈活的手動控制各個監控點;自動子模塊又分為打開通道、增加一項、設置時間、更改名稱、刪除一項、關閉通道,主要為了監控中心人員方便的自動控制各個監控點,遙控遠端設備。
圖1系統結構圖
2功能簡介
(1)監控硬件是通過寫計算機的并行端口來實現,VB通過調用DLL向并行端口寫入8bit的定位信息,本系統采用四個通道并行監控控制點,各通道互不影響。由后端硬件電路根據這8bit的定位信息判斷哪個端口的哪個攝像機(監控點)被選中,現場電視監控系統服務器接通被選中的攝像機所對應的門電路。同時在監控中心實時的反映出來。
(2)系統提供了手動控制和自動控制二種方式。
①自動控制:實現對各個攝像機(監控點)的循環監控。對正在監控攝像機(監控點)進行計時,達到此攝像機(監控點)預定時間時,去調用自動切換子程序完成切換功能,從而使系統按照監控中心人員預先設定的監控順序自動循環切換。監控中心人員可選擇監控的攝像機序列,在自動監控狀態下加載后,可以動態的增加、刪除攝像機,改變播出時間和順序。
②手動控制:實現對各個攝像機(監控點)的手動監控。由于工作需要,有時需要固定在某個攝像機(監控點)長時間不間斷地監控,本系統提供了手動控制很好的滿足了這個需要。當系統處于手動狀態時,監控中心人員可以通過主窗口的手動按鈕,或使用鍵盤數字鍵選擇哪個通道監控哪一臺攝像機。選中后,該通道就固定監控此攝像機(監控點),直到手動選擇另一個攝像機(監控點)時,才調用手動切換子程序完成切換功能。
(3)系統界面采用VB6.0中的Listview控件,此控件具有SmallIcon、LargeIcon、List、Report四種顯示方式,從而達到用戶界面友好的效果。圖2是在Report顯示方式下的監控中心主界面。
圖2 現場電視監控系統
3.系統的實現
3.1VB訪問低層硬件的實現
支持低層硬件訪問的DLL文件和ActiveX控 件,通過它們可讀寫存儲器單元、端口,甚至控制硬件中斷。本系統利用DLL實現訪問低層,詳見圖3所示。
圖4低層硬件訪問示意圖
3.2系統中對播放序列存儲的實現
由于本系統涉及的攝像機為16臺,數量不算太多,可不采用數據庫存儲,而巧妙地選用隨機文件(*.dat)的方式進行存儲,可大大提高響應的速度。
表1隨機文件格式表
3.3寫并行端口的程序實現
ID域為16×4個攝像機各自唯一的編號,按編號控制門電路的接通與斷開。
表2 8bit定位信息取值與通道對照表
表2中通道列中的A、B、C、D分別對應A、B、C、D四個通道,高位(HEX)列只要用二進制的低六位即可完成控制功能。編寫函數WriteToPort向并口中寫入8位的二進制數,部分關鍵源程序如下:
Public Sub WriteToPort(Addr As String, ValPort As String) ' CW As CheckBox)
Dim Nomw As Integer, DatW As Integer
' If CW.Value = Checked Then
'Nomw = HexToInt(Addr.Text)
Nomw = HexToInt(Addr)
DatW = HexToInt(ValPort)
' Write one byte to the port
Call SetPortByte(HW32, Nomw, DatW)
' End If
End Sub
4.結束語
本文介紹的現場電視實時監控系統由于采用了隨機文件存儲寫并口的信息,巧妙地解決了VB對低層硬件讀寫的問題,大大提高了系統運行速度。本系統投入使用后,經過一段時間的運行測試和使用,證明其性能穩定、運行可靠、各項監測精度符合要求,并具有操作簡單方便的特點。同時,這項技術可以大大縮短實時監控程序的開發周期,減少程序員的工作量,適用于電視臺
【基于Visual Basic快速開發現場電視監控系統】相關文章:
基于Profibus現場總線的煤礦井下膠帶監控系統03-18
用Visual Basic 5.0開發無線通訊數據采集應用程序03-20
基于PLC的閘門監控系統設計03-07
基于FIC8120的嵌入式網絡視頻監控系統的設計與開發03-07
基于GPRS遠程電機監控系統的設計03-07
基于GPRS的夜景照明遠程監控系統03-07
紡織企業快速報價系統開發12-26