陳琳榮,文大化
(1.吉林省地震局,長春 130022;2.中國科學院 長春光學精密機械與物理研究所,長春 130033)
隨著科學技術的迅猛發展,信息技術在測試系統中的應用越來越受到人們的重視[1]。在振動測試中,單一的和集中的測試方式已經越來越滿足不了復雜、遠程和大振動監測任務的需要,尤其在測試環境不適合測試人員現場測試的情況下,這就需要測試設備不但能能夠進行遠程操控,而且能夠將所測試得的數據自動實時傳輸到遠程的數據中心,以供分析參考。
對測試系統的遠程操作控制[2],測試數據的存儲與傳輸,主要采用移動通信網絡、內部無線通信網絡和有線局域網絡三種通信方式。如果對測試數據的保密性較高時,我們通常采用后兩種方式,即內部無線通信網絡和有線局域網絡。對于測試點位分布分散,數據的保密性不做要求,以及位置不固定的情況時,可采用移動通信網絡。對于測試點位集中,以及位置相對固定的情況,可采用有線局域網絡進行通信。
遠程客戶機通過IE瀏覽器或火狐瀏覽器進行瀏覽和查詢。
本文提出了一種基于移動通信網絡進行振動測試的實現方案,主要由振動測試設備、信號發射設備、數據庫服務器、Web服務器和客戶終端組成,系統組成的各硬件部分都有成熟產品,具有結構簡潔、性價比高等特點。
在整個測試系統中,若干個振動測試設備分布在試驗場區的各個不同位置,測試設備將所測試得的試驗數據進行分析處理,然后進行解析打包,通過信號發射設備進入移動通信網絡送往中心數據庫服務器,再通過局域網或Web服務器進行發布。
將加速度傳感器器、信號調理模塊、數據采集模塊、數據存儲模塊、數據分析處理模塊和數據傳輸模塊等六個部分組成[3],其中數據傳輸模塊即為前文提到的信號發射設備。振動測試系統原理框圖如圖2所示。

圖2 振動測試系統原理框圖Fig.2 Vibration testsystem block diagram
其中,前五個部分為傳統的加速度測試系統的系統組成,數據傳輸模塊是這個關鍵,由于我們采用移動通信網絡,我們需要在數據處理設置上加裝無線發射裝置,即GPRS通信模式,進而進入國際互聯網,并通過監聽IP數據,存入中心數據庫。
要實現網絡不同計算機之間的相互通信,首先要解決的一個重要問題就是網絡通信協議。簡單地說,網絡通信協議就是不同國家的人在一起交流所使用的語言,如果大家語言不通就無法實現相互交流。因此,本文研究中的不同終端之間的通信都是在TCPI/IP協議下實現的。
在通信模塊設計過程中,無論采用是移動通信網絡還是采用有線局域網絡,也都是建立在TCPI/IP網絡通信協議的基礎上。在TCP/IP網絡應用中,通信的兩個進程間相互作用的主要模式是客戶/服務器模式(即Client/Server Model),客戶/服務器模式在操作過程中采取的是主動請求方式,即客戶向服務器發出服務請求,服務器接收到請求后,提供相應的服務。
首先服務器方要先啟動,并根據請求提供相應服務。
(1)打開一通信通道并告知本地主機,它愿意接收客戶請求。
(2)等待客戶請求到達該端口。
(3)接收到重復服務請求,處理該請求并發送應答信號。接收到并發服務請求,要激活一新進程來處理這個客戶請求(如Unix系統中用fork、exec)。新進程處理此客戶請求,并不需要對其他請求做出應答。服務完成后,關閉并終止此新進程與客戶的通信鏈路。
(4)返回到第2步,等待另一客戶請求。
(5)關閉服務器。
客戶方:
(1)打開一通信通道,并連接到服務器所在主機的特定端口。
(2)向服務器發服務請求報文,等待并接收應答;繼續提出請求。
(3)請求結束后關閉并終止通信通道。
測試軟件部分在完成傳統的數據處理功能后,要將所測試信號按預先設計好的協議進行打包,送往服務器。在測試軟件編寫過程中,數據的打包傳送需用套接字(Socket)方式進行傳送,由于套接字是兩臺機器通信的終結點,在它們的后面即為使用網絡協議進行通信的程序。套接字與其他的IO設備很相似,對它的操作也包括打開、讀取/寫入以及在操作完成時的關閉等。
測試端的測試軟件采用Delphi語言[4]進行編寫,程序的編寫和套接字[5]的應用在這里不作詳細的說明,可以參考有關文檔。
服務器端的設計包括數據庫服務器選擇與安裝和Web服務器的選擇與安裝。
使用的服務器操作系統平臺通常采用比較成熟的Windows2000或Windows2003。因此,服務器端的相應程序采用事件觸發監聽端口的方式,即套接字每接收到一個數據包,經識別、解析后存入數據中。
為了能夠使所有的終端能夠通過瀏覽器時實觀測到各測試點的數據信息,還需要在服務器端編寫瀏覽程序。
本文中采用的數據庫服務器為開源的關系型數據庫服務器MySQL[6]。由于MySQL是開源的,可以從公司網站上免費獲得,只有在進行商業活動時才需要支付一定的費用。同時,MySQL兼容性好,應用十分廣泛,操作簡單,資源利用率高,共享性好,特別適合中小企業和科研院所。
圖3為MySQL的可化工具Navicat 8.0的應用視圖。

圖3 圖3 MySQL的可視化工具NavicatFig.3 Visualization tools Navicat of My SQL
本測試系統中的客戶端通過登錄測試網站,在線實現遠程溫度測試、數據的訪問與共享。因此,首先需要架設Web服務器,Web服務器仍然采用開源,面向中小企業的GlassFish服務器。使用Glass-Fish服務器的主要包括啟動和驗證服務器、封裝和部署應用程序兩個基本步驟。
首先,啟動和驗證服務器包括:啟動 GlassFish服務器、確認服務器正在運行、使用 Autodeploy部署Web應用程序、登錄 Admin Console。
GlassFish服務器啟動后的日常管理界面,在這里可以部署和取消部署應用程序、啟用和禁用應用程序、確認當前正在運行的應用程序以及配置 Java Database Connectivity(JDBC)資源和其他服務器設置。
其次,我們在日常管理界面中將事先封裝好的Web應用程序進行部署發布,一切工作就緒后,我們就可以在各個終端觀察測試結果。
“胖客戶端”[7](Rich Client)是相對于“瘦客戶端”[7](Thin Client)(基于Web的應用程序)而言的,它是在客戶機器上安裝配置的一個功能豐富的交互式的用戶界面。比如我們在個人計算機中應用VC++或Delphi所開發的應用程序,我們可以稱為胖客戶端應用程序。
在這里,我們首先介紹一下“瘦客戶端”應用程序,在處理Web應用程序過程中,客戶端可以應用所有瀏覽器,如Microsoft Internet Explorer或者Firefox等,而且請求很少的資源,因為大部分處理技術都是在服務器中完成的。在這種瘦客戶端結構中,用戶只需要開啟瀏覽器并輸入要訪問站點URL,Web站點所在服務器負責維護Web應用程序請求的所有資源。
隨著網絡技術的飛速發展,各種Web應用程序框架技術的推出,以及AJAX技術的廣泛應用,我們完全可以開發出功能強大,具有良好人機交互功能,如同“胖客戶端應用程序”的“胖客戶端Web應用程序”。
本文在這里采用目前十分流行的,基于動態編程語言[8]的Rails on Ruby框架技術,并嵌入JavaS-cript語言開發包ExtJs和JQuery,開發工具(即集成開發環境)采用開源的NetBeans IDE 6.8。
在總體方案的設計、振動測試系統設計和服務器端設計完成后,我們就可以進行一個測試網站的編程、建立和試運行,從而實現遠程溫度在線測試功能。
在客戶終端下打開瀏覽器(IE或Firefox,由于Firefox具有強的調試功能,本文在這采用Firefox),在地址欄中輸入http://localhost:3000,即可進行測試主頁,頁面如圖4所示:

圖4 主頁頁面Fig.4 Home page
用戶輸入用戶名的密碼后,經系統確認即可進入用戶想進入的功能頁面,如果用戶還沒有進行注冊,需要向管理員進行申請,申請注冊成功后方可進入功能界面。
數據查詢的查詢與統計在樹形結構的“監測信息”節點下,包含“實時加速度”、“歷史數據”和“統計信息”。
“實時加速度”節點,可以在線觀察遠程各個測試點位的加速度值。在數據表中,可以進行分頁及對各列數據進行正、倒序排列,也可以隱藏某個不關心的列信息。
“歷史數據”節點,觀察以往各時刻的加速度信息。在數據表中,還可以根據用戶的要求,輸入各種條件以便查詢。
“統計信息”節點,可以以數據表格和圖表的形式觀察不同日期的是日平均加速度值。
如果用戶以管理員的身份登錄,則在“系統管理”的節點下看到“終端登記”、“常規設置”和“用戶管理”三個子節點,可以對測試終端進行添加刪除,對報警加速度值上下限和網絡端口進行更改,以及用戶的注冊登記。
遠程在線測試技術是一項新的技術的實踐,是將信息技術和振動測試技術進行有效的結合,針對振動測試點位較多,遠程和大范圍測試任務的需要,以及測試環境不適合測試人員現場測試的情況,提出了通過網絡進行遠程在線測試的一種新的方法和手段。由于組成系統的各硬件部分都有成熟產品,網絡建設方面都有成熟的技術,大數據量的遴選處理得當,該方法完全可以拓展到動態測試的各個領域,具有良好的應用價值和推廣價值。
[1]李紹穩.大學信息技術基礎[M].北京:清華大學出版社,2009.1.
[2]胡文金.計算機測控應用技術[M].重慶:重慶大學出版社,2003.6.
[3]王躍科.現代動態測試技術[M].北京:國防工業出版社,2003.
[4]黃媛,楊建思.用于地震預警系統中的快速地震定位方法綜述[J].國際地震動態,2006(12):1-5.
[5]桂建達,陳新民,王玉玨,等.無線傳感器網絡在地質工程領域的應用[J].江蘇建筑,2011,05:92-95.
[6]林家浩.隨機地震響應功率譜快速算法[J].地震工程與工程振動,1990,10(4):35-46.
[7]石耀霖,劉杰,張國民.對我國90年代年度地震預報的評估[J]. 中國科學院研究生院學報,2000,17(1):63-69.
[8]David Flanagan.Ruby編程語言[M].北京:電子工業出版社,2009.