隨著現(xiàn)代工業(yè)生產(chǎn)規(guī)模的不斷擴大,生產(chǎn)設(shè)備由就地分散的局部自動控制逐漸向綜合自動化體系發(fā)展,而一般工業(yè)控制系統(tǒng)地域跨越性較大, 相當一部分設(shè)備工作在戶外,一些作業(yè)點分散,環(huán)境惡劣,因此需要無人職守遠傳控制,對各種設(shè)備的運行狀態(tài)、溫度、壓力、流量等指標做到實時監(jiān)控。隨著無線技術(shù)的日益發(fā)展,其安裝方便、靈活性強、性價比高等特性使得更多行業(yè)的監(jiān)控系統(tǒng)采用無線監(jiān)控方式,建立被監(jiān)控點和監(jiān)控中心之間的連接。目前,主要的無線監(jiān)控方案有[1]:(1)基于衛(wèi)星通信;(2)通過架設(shè)微波設(shè)備;(3)基于無線局域網(wǎng);(4)借助移動公網(wǎng)傳輸。
其中基于衛(wèi)星通信、架設(shè)微波設(shè)備、無線局域網(wǎng)的監(jiān)控方式容易受傳輸距離、覆蓋角度及周邊環(huán)境的影響,要想達到更好的監(jiān)控狀態(tài)就需要中繼設(shè)備、增益天線等,設(shè)備架設(shè)費用高。這些傳統(tǒng)方式存在覆蓋范圍、實時性、投資及運行費用等問題,同時對工控設(shè)備的無人值守運行存在較大困難。
借助移動公網(wǎng)進行數(shù)據(jù)傳輸?shù)谋O(jiān)控方式充分利用現(xiàn)有的移動通信網(wǎng)絡(luò),網(wǎng)絡(luò)建設(shè)和維護都由運營商承擔,運營費用低,且覆蓋面廣、傳輸速率高,大幅節(jié)省了人力物力,提高了工業(yè)控制的自動化水平。
1、 系統(tǒng)技術(shù)方案
基于3G無線網(wǎng)絡(luò)的工業(yè)監(jiān)控系統(tǒng),將現(xiàn)場數(shù)據(jù)通過3G網(wǎng)絡(luò)以流量方式實時傳送到手機,并將控制命令下發(fā)到現(xiàn)場設(shè)備。本系統(tǒng)使用便攜手機替代計算機作為監(jiān)控終端,無論身在何處,都可以實時監(jiān)測和管理工業(yè)現(xiàn)場。
系統(tǒng)框圖如圖1所示,MCU將工業(yè)現(xiàn)場設(shè)備數(shù)據(jù)采集上來,經(jīng)過相應(yīng)處理后送到3G無線通信模塊,再通過3G無線網(wǎng)絡(luò),將數(shù)據(jù)以UDP/TCP包形式發(fā)送至數(shù)據(jù)中心,并將數(shù)據(jù)中心下傳的UDP/TCP包轉(zhuǎn)換為串口數(shù)據(jù)傳至終端設(shè)備。手機端監(jiān)控軟件通過發(fā)送HTTP請求和數(shù)據(jù)中心建立連接通路,獲取實時數(shù)據(jù),并向數(shù)據(jù)中心發(fā)送控制信息。
3G模塊與單片機間通過標準的RS232/485接口通信,支持AT命令,可設(shè)置工作方式和數(shù)據(jù)傳輸方式(UDP/TCP),手機與服務(wù)器之間的連接可以采用HTTP和Socket,考慮到目前并不是所有手機都支持Socket通信,但都支持HTTP協(xié)議,所以在本系統(tǒng)中手機與服務(wù)器之間采用HTTP通信方式來傳輸數(shù)據(jù)。
手機端采用多線程工作方式,將接收到的數(shù)據(jù)處理之后以數(shù)據(jù)或圖像的方式清晰呈現(xiàn)給監(jiān)控人員,人機界面友好,同時監(jiān)控人員簡單的操作按鍵就可將控制命令傳回服務(wù)器,實現(xiàn)對現(xiàn)場設(shè)備的監(jiān)測和管理。提供用戶權(quán)限認證,只有通過驗證才開放控制管理功能。用戶可在手機上直接對監(jiān)測參數(shù)及其范圍進行設(shè)置,當現(xiàn)場設(shè)備的參數(shù)值超出設(shè)定的正常范圍時,產(chǎn)生報警。如果用戶未啟動手機端監(jiān)控軟件,現(xiàn)場設(shè)備發(fā)生異常時,監(jiān)控前端設(shè)備也會主動向指定手機發(fā)送報警信息。
2、 硬件設(shè)計
用戶終端設(shè)備通過串口或無線方式連接到GPRS數(shù)據(jù)終端上,然后將數(shù)據(jù)打成IP包,再通過GPRS空中接口接入到GPRS網(wǎng)絡(luò),最終通過各種網(wǎng)關(guān)和路由到達系統(tǒng)數(shù)據(jù)中心。
本系統(tǒng)的終端設(shè)備硬件設(shè)計結(jié)構(gòu)框圖如圖2所示,以單片機為主處理芯片,實現(xiàn)數(shù)據(jù)的采集、發(fā)送以及遠程控制命令的接收。
采集到的模擬參數(shù)經(jīng)過信號調(diào)理單元處理后(放大、濾波等)送入A/D轉(zhuǎn)換器,最后送入單片機。通過單片機擴展存儲器的TCP/IP協(xié)議棧打包處理,再由GPRS模塊將數(shù)據(jù)傳輸?shù)紾PRS網(wǎng)絡(luò)。系統(tǒng)采用的GPRS通信模塊集成了標準的SIM接口,提供標準的 RS232/485/422接口,可與多種終端無縫連接,為用戶提供簡便實用的GPRS通信解決方案。
3、 軟件設(shè)計
3.1 設(shè)備端軟件設(shè)計
數(shù)據(jù)傳輸過程如下:(1)GPRS模塊通過串行接口從單片機獲得上傳數(shù)據(jù);(2)處理后以GPRS分組數(shù)據(jù)的形式發(fā)送到GSM基站(BTS);(3)分組數(shù)據(jù)經(jīng)SGSN封裝后,發(fā)送到GPRS IP骨干網(wǎng); (4)若分組數(shù)據(jù)是發(fā)送到另一GPRS終端,則先發(fā)送到目的SGSN,再經(jīng)BSS發(fā)送到GPRS終端;若分組數(shù)據(jù)是發(fā)送到外部網(wǎng)絡(luò)(如Internet),則將分組數(shù)據(jù)包經(jīng)GGSN進行協(xié)議轉(zhuǎn)換后,再發(fā)送到外部網(wǎng)絡(luò),送達監(jiān)控中心。
GPRS模塊與單片機間通過串口進行通信,模塊與控制器間的通信協(xié)議是AT命令集,除了串口發(fā)送、串口接收之外,單片機與GPRS模塊之間還有一些硬件握手信號。硬件連接完成后,在進行GPRS上網(wǎng)操作之前,首先要對GPRS模塊進行一定的設(shè)置。主要的設(shè)置工作有:設(shè)置通信波特率、接入網(wǎng)關(guān)、移動終端的類別、測試GPRS服務(wù)是否開通等。
GPRS模塊可以通過撥號登錄到GGSN(網(wǎng)關(guān)支持節(jié)點)上動態(tài)分配到Internet網(wǎng)的IP地址。其間GPRS模塊與網(wǎng)關(guān)的通信要符合PPP點對點協(xié)議,模塊向網(wǎng)關(guān)發(fā)送PPP報文都會傳送到Internet網(wǎng)中相應(yīng)的地址,而從Internet傳送過來的應(yīng)答幀也同樣會根據(jù)IP地址傳送到GPRS模塊,從而實現(xiàn)采集數(shù)據(jù)和Internet網(wǎng)絡(luò)通過GPRS模塊的透明傳輸。
要注意的是,GSM網(wǎng)絡(luò)無靜態(tài)IP地址,故其他通信設(shè)備不能向它提出建立連接請求,服務(wù)器必須擁有一個固定的IP,以便監(jiān)測終端可以在登錄GSM網(wǎng)絡(luò)后通過該IP找到服務(wù)器。
GPRS模塊登錄上GSM網(wǎng)絡(luò)后,自動連接到數(shù)據(jù)中心,向數(shù)據(jù)中心報告其IP地址,并保持和維護數(shù)據(jù)鏈路的連接。GPRS監(jiān)測鏈路的連接情況,一旦發(fā)生異常,GPRS模塊自動重新建立鏈路,數(shù)據(jù)中心和GPRS模塊之間就可以通過IP地址通過UDP/TCP協(xié)議進行雙向通信,實現(xiàn)透明的可靠數(shù)據(jù)傳輸。
3.2 服務(wù)器軟件設(shè)計
服務(wù)器接收GPRS模塊傳來的數(shù)據(jù),經(jīng)過相應(yīng)的處理后存入數(shù)據(jù)庫,供客戶端提取數(shù)據(jù)的同時備份以便查詢。
手機與服務(wù)器之間的連接可以采用HTTP和Socket,考慮到目前并不是所有手機都支持Socket通信,但都支持HTTP協(xié)議,所以在本系統(tǒng)中手機與服務(wù)器之間采用HTTP通信方式來傳輸數(shù)據(jù)。在服務(wù)器Servlet中采用輸出流的方式向請求端發(fā)送數(shù)據(jù)。Servlet具有獨立于平臺和協(xié)議的特性,它擔當客戶請求與服務(wù)器響應(yīng)的中間層。
在傳統(tǒng)的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執(zhí)行時間較短,則啟動進程所需要的開銷很可能反而超過實際執(zhí)行時間。而在Servlet中,每個請求由一個輕量級的Java線程處理。在性能優(yōu)化方面,Servlet也比CGI有著更多的選擇。因此與傳統(tǒng)的CGI和許多其他類似CGI的技術(shù)相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節(jié)省投資。
Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。系統(tǒng)選用免費的開源Web 應(yīng)用服務(wù)器Tomcat,運行時占用的系統(tǒng)資源少,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,把Servlet部署到Tomcat,在服務(wù)器端運行Tomcat,即可監(jiān)聽客戶端請求。
3.3 手機端軟件設(shè)計
手機端采用多線程方式,提高效率。一方面啟動線程通過HTTP協(xié)議訪問服務(wù)器,獲得實時數(shù)據(jù)。另一方面啟動新的線程將接收到的數(shù)據(jù)處理之后以數(shù)據(jù)或圖形的方式清晰地呈現(xiàn)給監(jiān)控人員,同時將監(jiān)控人員給下位機下發(fā)的命令返回到服務(wù)器,從而實現(xiàn)對現(xiàn)場的監(jiān)測和管理。
手機端軟件流程圖如圖3所示。當用戶啟動監(jiān)控軟件時,軟件通過向服務(wù)器發(fā)送HTTP請求獲取設(shè)備數(shù)據(jù),這需要短暫的等待,故顯示等待界面如連網(wǎng)進度條以防止用戶誤以為是死機現(xiàn)象。獲取數(shù)據(jù)后,經(jīng)過一定的處理,保存數(shù)據(jù)以便追溯分析,同時顯示數(shù)據(jù)并繪制實時曲線。如果數(shù)據(jù)超出報警設(shè)置范圍,則產(chǎn)生報警。當監(jiān)聽到有用戶按鍵時,判斷按鍵類型,若為退出,則直接退出程序;若為設(shè)置或控制命令,則設(shè)置有用戶權(quán)限,要求用戶登錄。當用戶輸入信息正確時,顯示相應(yīng)的設(shè)置或控制界面,開放設(shè)置和控制功能,以后再次操作無需再登錄;當用戶信息錯誤時,給出提示并可再次輸入,當錯誤次數(shù)達到三次時,返回主界面并關(guān)閉登錄功能。
用戶對參數(shù)報警門限、時長以及曲線顯示范圍等進行設(shè)置時,當用戶按下確定按鍵,若輸入錯誤則提示更改,正確則保存用戶數(shù)據(jù),自動返回上一界面并刷新。
用戶通過手機控制現(xiàn)場設(shè)備時,系統(tǒng)根據(jù)用戶選擇的控制項目,發(fā)送命令到服務(wù)器,再由服務(wù)器下發(fā)到現(xiàn)場設(shè)備。當命令成功發(fā)送到服務(wù)器時,提示用戶發(fā)送成功,否則發(fā)送失敗,設(shè)備端設(shè)置狀態(tài)反饋,當接收到控制命令時,響應(yīng)命令并反饋。
系統(tǒng)采用文件形式保存從服務(wù)器端取來的實時數(shù)據(jù),可編輯,可方便地從手機上或連接到電腦上查看分析數(shù)據(jù)。對于用戶設(shè)置的數(shù)據(jù)則采用記錄管理系統(tǒng)RMS(Record Management System),它是J2ME應(yīng)用程序進行持久性存儲的唯一途徑,RMS類似于一個小型數(shù)據(jù)庫,Record Store相當于數(shù)據(jù)庫的表,每個“表”由若干記錄(Record)構(gòu)成,一條記錄就是一個用int表示的記錄號和用byte[]表示的內(nèi)容。記錄號可以看作是“主鍵”,byte[]數(shù)組存儲內(nèi)容。可以對記錄進行添加、修改、讀取和刪除等操作。
概括起來,本系統(tǒng)具有以下特點:
(1)安裝簡單:網(wǎng)絡(luò)架設(shè)方便,無需進行拉線,埋線等工作;
(2)永遠在線:鏈路穩(wěn)定可靠,即使沒有數(shù)據(jù)傳輸,仍然與網(wǎng)絡(luò)保持連接;
(3)快速登錄:接入速度快,提供了與現(xiàn)有數(shù)據(jù)網(wǎng)的無縫連接;
(4)高速傳輸:數(shù)據(jù)傳輸速率上行128 Kb/s,下行最大可達2.8 Mb/s;
(5)按量收費:3G移動網(wǎng)絡(luò)按照客戶接收和發(fā)送數(shù)據(jù)包的數(shù)量來收取費用,沒有數(shù)據(jù)流量的傳遞時,客戶即使在線,也不收費。
責任編輯:gt
評論
查看更多