【摘 要】基于VB與GSM的水量信息化測控系統(tǒng)的軟件實現(xiàn)的設計是上位機通過GSM對下位機進行監(jiān)控,對遠端進行無線通信。利用VB編寫一個可視化的用戶界面,通過GSM網(wǎng)絡以短消息的形式完成遠程數(shù)據(jù)傳輸,利用無線通信網(wǎng)絡GSM對下位機進行監(jiān)控。采用串行通信MSComm控件作通信控制,根據(jù)數(shù)據(jù)協(xié)議以及GSM AT指令實現(xiàn)數(shù)據(jù)的遠程傳輸。
【關鍵詞】VB GSM AT指令 串口編程 MSComm控件
一、緒論
(一)引言
水利工程一般分布較分散,且大多位于有線通訊條件較差的偏僻山區(qū)和農(nóng)村。管理人員較難及時掌握設備運行狀況,比如設備的電源監(jiān)視、閘門開度、水位等信息。而且這些系統(tǒng)只能由維護人員巡回檢查和維護,設備的故障在維護人員巡檢之前是不會發(fā)現(xiàn)的,及時掌握水情信息是很難的。
因此必須發(fā)展水渠的無線檢測自動化系統(tǒng),一方面是檢測儀器的自動測量和數(shù)據(jù)自動采集,以提高數(shù)據(jù)采集速度,改善觀測人員的工作條件;另一方面是數(shù)據(jù)的集中處理和分析,以優(yōu)化水量調度及進行控制決策。因此,采用GSM網(wǎng)絡作為無線通信方式解決了上述無線檢測中的問題。
(二)系統(tǒng)的發(fā)展及現(xiàn)狀
在傳統(tǒng)的無線檢測與控制系統(tǒng)中, 幾乎都是利用數(shù)傳電臺來完成數(shù)據(jù)和控制指令的發(fā)送與接收。目前遠程監(jiān)測主要有以下幾種方式:短距離長線監(jiān)測;通過市話網(wǎng);通過 internet 網(wǎng)絡;通過自組網(wǎng)絡;通過數(shù)傳電臺方式。短距離長線監(jiān)測和通過自組網(wǎng)絡首先要自行建設通信網(wǎng)絡,建網(wǎng)初期投資巨大,相對運營費用高;通過市話網(wǎng)和internet方式無需自行建設通信網(wǎng)絡;數(shù)傳電臺出現(xiàn)較早,應用很廣泛,但建網(wǎng)初期投資巨大,傳輸范圍有限。GSM網(wǎng)絡通過短消息業(yè)務不需要建立撥號連接,只需把待發(fā)的消息加上目的地址發(fā)送至短消息中心,再由短消息中心轉發(fā)到最終目標。隨著移動通信技術的迅猛發(fā)展,基于VB與GSM的水量信息化測控系統(tǒng)軟件將廣泛應用于國民經(jīng)濟的諸多領域,成為一個新的研究熱點。
二、通信協(xié)議的制定與關鍵技術
根據(jù)對無線信道模型的分析,了解外部因素對無線數(shù)據(jù)傳輸?shù)挠绊?,設計實用的無線通信協(xié)議。
(一)RS-232串口的概述
RS-232 是在任何時候都常用的接口之一。RS-232 接口的最通常的用處是連接到一個Modem上,其他擁有RS-232接口的設備包括打印機、數(shù)據(jù)采集模塊等。
串行通信可以分為同步及異步兩種模式。目前采用異步傳輸模式較為普遍,異步傳輸只要9支引腳就足夠了。如果要采用同步傳輸,則需要25支引腳。
(二)串行通信控件 MSComm 簡介
Visual Basic的串行通信對象MSComm是將RS-232的初級操作予以封裝,用戶以高級的Basic語法即可利用RS-232與外界通信。本系統(tǒng)中比較常用的MSComm屬性如下:
三、系統(tǒng)軟件設計
(一) 系統(tǒng)模塊
上位機作為系統(tǒng)的人機界面,除了與下位機進行數(shù)據(jù)通信外,還要求在上位機上編寫相應的程序代碼。本系統(tǒng)的人機界面與通信程序全部由VB開發(fā)。VB將該系統(tǒng)大體分為5個模塊,分別為系統(tǒng)參數(shù)設定、數(shù)據(jù)庫管理與查詢、報表、幫助,可以隨時查看各個模塊。
(二) 系統(tǒng)軟件設計基礎
本系統(tǒng)是基于VB與GSM的水量信息化測控系統(tǒng)的軟件實現(xiàn),GSM網(wǎng)絡以短消息的形式完成遠程數(shù)據(jù)傳輸,從而實現(xiàn)對下位機的監(jiān)控。
1.VB 6.0 簡介
Visual Basic是在世界范圍內廣泛使用的一種強大的編程語言,它為Windows應用程序開發(fā)提供了最迅速和便捷的方法。
采用VB開發(fā)平臺,具有編程簡潔、程序集成度高的特點,可以充分利用其界面設計工具,迅速完成各種功能的圖形界面設計,得到美觀清楚的界面。VB是一種可視化的,面向對象的采用事件驅動的結構化高級程序設計語言,簡單易學,效率高且功能強大,可與專業(yè)的開發(fā)工具相媲美。
2.常見AT指令介紹
AT指令是基于字符的命令結構,有BLOCK模式, TEXT模式和PDU模式。相關的GSM AT指令:
AT+CMGF 選擇消息格式, 0-PDU;1-文本。
AT+CSCA 選擇消息中心地址。
AT+CNMI 新消息指示方式。
AT+CMGS 發(fā)送短消息。
AT+CMGR 閱讀短消息。
AT+CMGD 刪除短消息。
(三) 數(shù)據(jù)庫設計
1.數(shù)據(jù)庫的建立
在VB中建立數(shù)據(jù)庫可以使用的方法:(1)使用可視化數(shù)據(jù)管理器。(2)使用Microsoft Access數(shù)據(jù)庫。(3)第三方數(shù)據(jù)庫設計器。(4)用編程的方式創(chuàng)建數(shù)據(jù)庫。
2.數(shù)據(jù)庫的訪問
數(shù)據(jù)庫建立后,它是一個孤立的數(shù)據(jù)庫,要訪問該數(shù)據(jù)庫,對其進行操作就必須先和它連接起來。在Visual Basic中,可用的數(shù)據(jù)訪問接口有三種:ActiveX數(shù)據(jù)對象、遠程數(shù)據(jù)對象和數(shù)據(jù)訪問對象。利用數(shù)據(jù)控件可以訪問VB支持的各類型數(shù)據(jù)庫,能對庫進行顯示、編輯及修改,但不能生成新的數(shù)據(jù)庫、表和索引。
3.VB與數(shù)據(jù)庫
數(shù)據(jù)庫應用在水量信息化測控系統(tǒng)中,具有十分重要的意義。VB提供了功能強大的數(shù)據(jù)管理功能,能夠方便、靈活的完成數(shù)據(jù)庫應用中設計的各種操作。因此,根據(jù)系統(tǒng)的功能需要,數(shù)據(jù)庫軟件采用了Access 2000。
四.系統(tǒng)軟件的實現(xiàn)
(一)上位機軟件設計
本系統(tǒng)開發(fā)的重要目標之一就是設計友好的界面以實現(xiàn)設計所要求的功能及技術指標,編寫相應的代碼。在登錄界面前,系統(tǒng)要進行初始化,整個系統(tǒng)軟件一共設計了12個界面。
1.歡迎界面。歡迎界面是系統(tǒng)的啟動界面,通過單擊“點擊進入”或“退出”可進入或退出系統(tǒng)。
2.登錄界面及提示。當點擊了歡迎界面的“點擊”進入后,即可彈出登錄對話框。它是進入系統(tǒng)的安全保障,用戶必須以合法的用戶名和密碼,才能訪問系統(tǒng)。
3.主界面。登錄系統(tǒng)后,進入系統(tǒng)主界面。系統(tǒng)主界面包括菜單欄、工具條、狀態(tài)欄等,通過操作菜單欄和工具條可以調出各個子界面,實現(xiàn)不同的系統(tǒng)功能。
4.系統(tǒng)連接與初始化界面。實現(xiàn)的功能是選擇使用的串口,端口號可以設置由1到16。
5.用戶參數(shù)設置界面。具有數(shù)據(jù)采集功能的遠端設備,自動將采集的數(shù)據(jù)以及判斷的結果發(fā)送給主站設備,主站設備就可以采取一些操作,使其恢復正常。
6.通信參數(shù)設置界面。通信程序設置串口配置界面,通過點擊下拉鍵頭可以選擇不同的通信參數(shù),這是上下位機實現(xiàn)通信的基礎。
7.自動接收數(shù)據(jù)界面。就是在人工干預的情況下,主站設備一直處于循環(huán)的檢測計算機串口數(shù)據(jù)信息的狀態(tài)。
8.請求返回數(shù)據(jù)界面。系統(tǒng)提供了請求數(shù)據(jù)的功能,當遠端設備接收到指令時,就會調用數(shù)據(jù)采集的功能采集各個數(shù)據(jù),按照數(shù)據(jù)協(xié)議的要求進行數(shù)據(jù)編碼,把處理好的數(shù)據(jù)以短消息的方式發(fā)送過來。
9.查詢界面。數(shù)據(jù)庫的應用對于VB與GSM的水量信息化測控系統(tǒng)的軟件實現(xiàn)具有十分重要的意義,最主要的是能夠積累遠端設備的數(shù)據(jù),以利于遠端設備的總體運行情況的分析,便于用戶選擇和查找。
10.曲線視圖顯示界面。根據(jù)發(fā)送和接收到的數(shù)據(jù)信息,得到各測點的水位,根據(jù)流量與水位之間的計算關系得到各測點的流量。繪制的曲線圖主要是用來顯示流量與時間的關系曲線。
11.幫助界面。關于本程序的一些說明。
12.流量計算結果界面。流量的計算結果有:閘門流量與閘門提升高度、閘前液位高度有關。
五、應用前景與發(fā)展
GSM模塊在短消息方面的應用最具優(yōu)勢,具有永遠在線、不需撥號、價格便宜、覆蓋范圍廣等特點。因此,在3G等無線業(yè)務普及后,基于GSM 通信技術的無線測控系統(tǒng)在工業(yè)測控、地理信息采集、城市污染監(jiān)測、自動收費等領域有著廣泛的應用前景,也將給水利工程遠程監(jiān)控帶來更美好的前景。
在前面的介紹中,使用VB編寫一個控制GSM模塊與遠端設備之間的數(shù)據(jù)傳輸程序。由于不同條件通信要求,除了可以通過修改程序,提高波特率等方面的工作,還可通過添加硬件電路來提高通信的可靠性。
六、總結
基于VB與GSM的水量信息化測控系統(tǒng)的軟件實現(xiàn)采用GSM實現(xiàn)遠程無線通信。GSM網(wǎng)絡可在全國范圍內實現(xiàn)了聯(lián)網(wǎng)和漫游,具有強的網(wǎng)絡能力。用戶無需另外組網(wǎng),可極大提高網(wǎng)絡覆蓋范圍,同時為客戶節(jié)省了昂貴的建網(wǎng)和維護費用。而且,它對用戶的數(shù)量也沒有限制,克服了傳統(tǒng)的專網(wǎng)通信系統(tǒng)投資成本大、維護費用高、網(wǎng)絡監(jiān)控的覆蓋范圍和用戶數(shù)量有限的缺陷。
參考文獻:
[1] 宣彩平等.利用GSM無線模塊發(fā)送短消息[J].計算機應用, 2004,24(5) .
[2] 潘地林.Visual Basic 程序設計[M].中國科技大學出版社,2005,9.
[3] 孔祥偉.基于GSM網(wǎng)的水情數(shù)據(jù)采集系統(tǒng)的設計[J].煙臺大學學報,2003,10.
[4] 張洪明等.基于GSM短信息的遠程水情數(shù)據(jù)采集控制系統(tǒng)[J].計算機工程, 2004,30(9).