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