摘 要: 結(jié)合具體項(xiàng)目實(shí)際需求,提出了一套采用多傳輸方式實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸?shù)姆植际綌?shù)據(jù)監(jiān)控系統(tǒng)設(shè)計(jì)方案。此方案可以方便全面地將各個(gè)分散地震前兆采集點(diǎn)的數(shù)據(jù)納入整個(gè)監(jiān)測(cè)系統(tǒng),并有升級(jí)成本低、可靠性高、運(yùn)行速度快、可擴(kuò)展性強(qiáng)等優(yōu)勢(shì),適宜實(shí)際推廣實(shí)施。
關(guān)鍵詞: 數(shù)據(jù)傳輸 協(xié)議轉(zhuǎn)換 GPRS" title="GPRS">GPRS 遠(yuǎn)程監(jiān)控
分布在全國(guó)各地的地震監(jiān)測(cè)臺(tái)站采集點(diǎn)數(shù)量多、范圍廣,并且很大一部分地處偏僻位置,條件惡劣,布線困難。目前有相當(dāng)大一部分監(jiān)測(cè)臺(tái)站在數(shù)據(jù)采集傳輸方面仍采用人工現(xiàn)場(chǎng)記錄或者電話撥號(hào)傳輸?shù)姆绞?sup>[1],不僅傳輸效率低下,而且也無(wú)法完成多前兆儀器數(shù)據(jù)的實(shí)時(shí)處理及跟蹤前兆信息的最新變化,對(duì)地震的下一步發(fā)展趨勢(shì)就缺少了重要的判斷依據(jù)[2]。由于傳輸方式不得力,許多關(guān)鍵地區(qū)前兆數(shù)據(jù)缺失嚴(yán)重已成為一個(gè)亟待解決的問(wèn)題。所以現(xiàn)在急需尋找一種更好的設(shè)計(jì)方案,以解決臺(tái)站數(shù)據(jù)缺失的問(wèn)題,同時(shí),又能實(shí)現(xiàn)實(shí)時(shí)傳輸,并且投資小、方便維護(hù)。
1 總體設(shè)計(jì)與工作原理
本系統(tǒng)設(shè)計(jì)針對(duì)山東省地震局各臺(tái)站的實(shí)際情況,綜合有線傳輸與無(wú)線傳輸?shù)膬?yōu)缺點(diǎn),在保持原有已投資設(shè)備的基礎(chǔ)上,通過(guò)添加外部模塊進(jìn)行混合組網(wǎng),對(duì)原數(shù)據(jù)傳輸方式進(jìn)行升級(jí),完成對(duì)系統(tǒng)臺(tái)站數(shù)據(jù)的遠(yuǎn)程高速采集。本系統(tǒng)對(duì)沒(méi)有有線網(wǎng)絡(luò)覆蓋的偏遠(yuǎn)監(jiān)測(cè)點(diǎn)、移動(dòng)監(jiān)測(cè)點(diǎn)的實(shí)時(shí)數(shù)據(jù)采集使用GPS、GPRS技術(shù)[3];而對(duì)固定監(jiān)測(cè)點(diǎn)使用基于TCP/IP的有線網(wǎng)絡(luò)技術(shù)[4]。通過(guò)不同協(xié)議的轉(zhuǎn)換,在保證傳輸速率的同時(shí)拓寬了臺(tái)站監(jiān)測(cè)點(diǎn)的監(jiān)測(cè)范圍,并且節(jié)省了大量人力物力資源,為全省地震測(cè)控系統(tǒng)之間的互聯(lián)互通和信息資源共享提供了統(tǒng)一的平臺(tái)。
系統(tǒng)整體基于客戶端/服務(wù)器模式設(shè)計(jì),采用星狀點(diǎn)對(duì)多點(diǎn)通信,以達(dá)到分布式處理的目的。本數(shù)據(jù)監(jiān)控系統(tǒng)由數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊、通信服務(wù)器模塊和數(shù)據(jù)監(jiān)控模塊組成,其總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。數(shù)據(jù)采集模塊自動(dòng)完成數(shù)據(jù)的采集、封裝,能夠響應(yīng)數(shù)據(jù)監(jiān)控模塊的控制指令并反饋信息;數(shù)據(jù)傳輸模塊將數(shù)據(jù)采集模塊傳來(lái)的數(shù)據(jù)封裝成IP包并傳送至通信服務(wù)器模塊;通信服務(wù)器模塊根據(jù)傳輸方式的不同采用相應(yīng)的接收機(jī)制自動(dòng)接收解析數(shù)據(jù)信息,并能接受并轉(zhuǎn)發(fā)數(shù)據(jù)監(jiān)控模塊的監(jiān)控指令;數(shù)據(jù)監(jiān)控模塊負(fù)責(zé)數(shù)據(jù)的處理和存儲(chǔ)。四個(gè)模塊協(xié)調(diào)工作最終實(shí)現(xiàn)分散數(shù)據(jù)采集和集中監(jiān)視處理的分布式管理,加之客戶端/服務(wù)器模式交互性強(qiáng),能提供更安全的存取模式并有效降低網(wǎng)絡(luò)通信量,所以特別適用于采集點(diǎn)分散、數(shù)據(jù)量大、條件惡劣、干擾大的工業(yè)測(cè)控、數(shù)據(jù)采集場(chǎng)合。
2 系統(tǒng)模塊設(shè)計(jì)
2.1 通信服務(wù)器模塊
通信服務(wù)器模塊作為網(wǎng)關(guān)服務(wù)器負(fù)責(zé)數(shù)據(jù)接收,實(shí)現(xiàn)數(shù)據(jù)傳輸模塊的數(shù)據(jù)透明傳輸和觀測(cè)臺(tái)數(shù)據(jù)監(jiān)控模塊的命令轉(zhuǎn)發(fā)。通信服務(wù)器模塊可安裝在任何具有真正的IP 地址的聯(lián)網(wǎng)計(jì)算機(jī)上,以方便分布在各個(gè)地區(qū)的多觀測(cè)臺(tái)進(jìn)行數(shù)據(jù)讀取和管理。
由于系統(tǒng)采用混合組網(wǎng),所以通信服務(wù)器模塊需要應(yīng)對(duì)從數(shù)據(jù)傳輸模塊發(fā)出的不同協(xié)議數(shù)據(jù)包。針對(duì)這種情況,通信服務(wù)器模塊采用面向接口編程結(jié)合設(shè)計(jì)模式以實(shí)現(xiàn)較為靈活的設(shè)計(jì)[5],不僅能很好地支持現(xiàn)有的傳輸協(xié)議,而且為其他協(xié)議的擴(kuò)展提供了很好的架構(gòu)支持。
另外為了保證數(shù)據(jù)的安全性,通信服務(wù)器模塊采用了分級(jí)權(quán)限管理的設(shè)計(jì),只有給定權(quán)限的數(shù)據(jù)監(jiān)控模塊才能對(duì)通信服務(wù)器進(jìn)行訪問(wèn)。
2.1.1 有線通信軟件設(shè)計(jì)
在有線連接的條件下,數(shù)據(jù)傳輸模塊使用串口協(xié)議轉(zhuǎn)換模塊與通信服務(wù)器模塊建立TCP/IP協(xié)議通信。通信服務(wù)器模塊啟動(dòng)后即根據(jù)各串口協(xié)議轉(zhuǎn)換模塊的IP地址與每一個(gè)串口協(xié)議轉(zhuǎn)換模塊建立SOCKET鏈接。一旦連接建立成功,通信服務(wù)器模塊就會(huì)保持此條SOCKET鏈接,并維護(hù)關(guān)于此SOCKET鏈接號(hào)與對(duì)應(yīng)的前兆臺(tái)儀器編號(hào)的索引。為防止SOCKET鏈接斷線,通信服務(wù)器模塊每隔固定時(shí)間便檢測(cè)鏈路是否斷開(kāi),斷開(kāi)則重新連接串口協(xié)議轉(zhuǎn)換模塊,從而保障鏈路的可靠性以及采集數(shù)據(jù)的完整性和實(shí)時(shí)性,減輕了串口協(xié)議轉(zhuǎn)換模塊的工作負(fù)擔(dān)。
2.1.2 無(wú)線通信軟件設(shè)計(jì)
在無(wú)線連接的條件下,數(shù)據(jù)傳輸模塊使用無(wú)線傳輸模塊與通信服務(wù)器通信。
無(wú)線傳輸模塊與通信服務(wù)器模塊建立通信鏈路遵循PPP協(xié)議[6]。GPRS 設(shè)備啟動(dòng)后, 它會(huì)自動(dòng)進(jìn)入到GPRS 網(wǎng)絡(luò), 將其相關(guān)的信息(如GPRS設(shè)備在GPRS網(wǎng)中IP地址和端口號(hào)、設(shè)備的ID號(hào)、連接時(shí)間等)組成PPP報(bào)文通過(guò)GGSN網(wǎng)關(guān)轉(zhuǎn)發(fā)至Internet網(wǎng)中固定IP地址的通信服務(wù)器模塊上,通信服務(wù)器模塊會(huì)監(jiān)聽(tīng)網(wǎng)絡(luò)端口, 一旦有注冊(cè)信息到達(dá), 即維護(hù)一條SOCKET鏈接信息,并維護(hù)關(guān)于SOCKET鏈接號(hào)與對(duì)應(yīng)前兆臺(tái)儀器編號(hào)的索引。無(wú)線傳輸模塊監(jiān)測(cè)鏈路的連接情況,一旦發(fā)生異常則會(huì)自動(dòng)重新建立鏈路,保證其總是處于在線狀態(tài)。
GPRS網(wǎng)中IP地址、端口號(hào)和廣域網(wǎng)中的IP地址、端口號(hào)均由網(wǎng)絡(luò)動(dòng)態(tài)分配, 它們隨時(shí)都有可能變化。為了保證通信服務(wù)器模塊在任何時(shí)段都能控制前兆采集模塊, 對(duì)無(wú)線傳輸模塊增加了“心跳”功能。一旦GPRS設(shè)備的IP地址和端口號(hào)發(fā)生了變化, 通信服務(wù)器模塊就會(huì)立即得到其新的IP地址和端口號(hào), 更新索引,使通信服務(wù)器模塊與前兆儀器永久保持一條通信信道。
建立連接之后,通信服務(wù)器模塊和無(wú)線傳輸模塊之間通過(guò)UDP/IP協(xié)議進(jìn)行雙向通信,實(shí)現(xiàn)透明數(shù)據(jù)傳輸。
該模塊采用多線程的工作模式實(shí)現(xiàn)整體多個(gè)終端的鏈路建立、維護(hù)以及數(shù)據(jù)收發(fā)、控制和相關(guān)處理,并能接受數(shù)據(jù)監(jiān)控模塊權(quán)限驗(yàn)證及命令下發(fā)。圖2為程序與數(shù)據(jù)傳輸模塊的數(shù)據(jù)交互流程圖。其中I為無(wú)線傳輸方式數(shù)據(jù)收發(fā)線程,Ⅱ?yàn)橛芯€方式數(shù)據(jù)收發(fā)線程。
2.2 觀測(cè)臺(tái)數(shù)據(jù)監(jiān)控模塊
該模塊通過(guò)Internet與具有固定IP的通信服務(wù)器模塊進(jìn)行數(shù)據(jù)交換、下發(fā)控制指令等,而不是直接與數(shù)據(jù)傳輸模塊通信。此設(shè)計(jì)模式有利于對(duì)大批量采集模塊的分布式管理。它是系統(tǒng)的數(shù)據(jù)處理部分,完成對(duì)采集數(shù)據(jù)的最終協(xié)議解析,得到能夠直接存儲(chǔ)和利用的ORG格式數(shù)據(jù)文件,同時(shí)將采集到的信息存入數(shù)據(jù)庫(kù)中,并為用戶提供友好的人機(jī)交互,顯示各采集模塊數(shù)據(jù)參數(shù)的走勢(shì)分布圖等信息。
由于觀測(cè)臺(tái)僅關(guān)心自己管理范圍內(nèi)前兆儀器的數(shù)據(jù)采集情況,所以需要為不同的監(jiān)控模塊分配監(jiān)聽(tīng)權(quán)限。本系統(tǒng)允許每個(gè)監(jiān)控模塊根據(jù)需要對(duì)不同地區(qū)不同編號(hào)的采集終端定制管理,從而實(shí)現(xiàn)了多觀測(cè)站監(jiān)控中心負(fù)責(zé)不同地區(qū)數(shù)據(jù)的管理機(jī)制,使系統(tǒng)的整體性能大為增強(qiáng)。
監(jiān)控模塊將接收的前兆采集數(shù)據(jù)按照原有前兆數(shù)據(jù)協(xié)議解析成東南西北四路原始檢測(cè)數(shù)據(jù)。按照需求生成ORG文件,同時(shí)配合ADO數(shù)據(jù)庫(kù)技術(shù)將提取出的時(shí)間點(diǎn)數(shù)據(jù)導(dǎo)入SQL SERVER數(shù)據(jù)庫(kù)中。為了滿足用戶定制查詢和分析監(jiān)控?cái)?shù)據(jù)的需要,監(jiān)控模塊提供了一套數(shù)據(jù)分析接口,并借助第三方報(bào)表展示軟件以及其上的自定義擴(kuò)展,提供了多種數(shù)據(jù)展示方式。這不僅可以滿足現(xiàn)有數(shù)據(jù)分析需求,而且為后續(xù)版本擴(kuò)展提供了很好的基礎(chǔ)。
由于網(wǎng)絡(luò)的不穩(wěn)定性, 在廣域網(wǎng)上進(jìn)行數(shù)據(jù)傳輸存在著丟包的可能性。 為此在該模塊的軟件設(shè)計(jì)中增加了數(shù)據(jù)校驗(yàn)錯(cuò)誤重發(fā)的功能:前兆采集數(shù)據(jù)的幀長(zhǎng)度固定不變,因此程序可以根據(jù)幀長(zhǎng)及幀頭幀尾來(lái)判斷采集數(shù)據(jù)是否正確。在觀測(cè)臺(tái)監(jiān)控模塊自動(dòng)收取數(shù)據(jù)時(shí),每收取一幀數(shù)據(jù)即對(duì)其進(jìn)行校驗(yàn),若發(fā)現(xiàn)錯(cuò)誤則立刻提交重新發(fā)送控制指令,要求前兆采集模塊重新發(fā)送指定數(shù)據(jù),同時(shí)進(jìn)行狀態(tài)報(bào)告。通過(guò)這種措施, 使得數(shù)據(jù)的正確性得到了保障。監(jiān)控模塊的流程圖如圖3。
2.3 數(shù)據(jù)傳輸模塊
數(shù)據(jù)傳輸模塊是根據(jù)山東地震局實(shí)際情況,為保持原有設(shè)備投資而添加的。它為沒(méi)有TCP/IP協(xié)議棧的串口單片機(jī)數(shù)據(jù)采集設(shè)備和通信服務(wù)器模塊提供適配功能,以實(shí)現(xiàn)兩者之間的數(shù)據(jù)通信。
一方面數(shù)據(jù)傳輸模塊把數(shù)據(jù)采集模塊傳來(lái)的串口數(shù)據(jù)封裝成IP包通過(guò)網(wǎng)絡(luò)發(fā)送至通信服務(wù)器模塊;另一方面從網(wǎng)絡(luò)中接收來(lái)自通信服務(wù)器模塊的UDP、TCP/IP包解析成相應(yīng)的串口數(shù)據(jù)傳送給數(shù)據(jù)采集模塊。
2.3.1 數(shù)據(jù)傳輸模塊協(xié)議
無(wú)線雖然自由,但是文件傳輸速度方面不是它的強(qiáng)項(xiàng);有線雖然傳輸速度快而安全,但是受到網(wǎng)線和布局的制約。為了適應(yīng)不同的采集環(huán)境,數(shù)據(jù)傳輸模塊分為針對(duì)有線方式的串口協(xié)議轉(zhuǎn)換模塊和針對(duì)無(wú)線傳輸?shù)臒o(wú)線傳輸模塊。
串口協(xié)議轉(zhuǎn)換模塊負(fù)責(zé)串口協(xié)議與TCP/IP協(xié)議的轉(zhuǎn)換。串口協(xié)議轉(zhuǎn)換模塊有三種工作模式(UDP模式、TCP客戶模式和TCP服務(wù)器模式),為保障其與通信服務(wù)器模塊之間的不間斷連接,系統(tǒng)設(shè)置為TCP服務(wù)器模式使用,在指定的TCP端口上監(jiān)聽(tīng)通信服務(wù)器程序的連接請(qǐng)求。
無(wú)線傳輸模塊提供了串口協(xié)議與UDP協(xié)議的轉(zhuǎn)換。之所以選擇UDP協(xié)議實(shí)現(xiàn)GPRS通信是為了保持系統(tǒng)較小的開(kāi)銷,提高網(wǎng)絡(luò)穩(wěn)定性和數(shù)據(jù)的實(shí)時(shí)性。由于UDP協(xié)議是面向無(wú)線連接的,會(huì)出現(xiàn)丟包問(wèn)題,在數(shù)據(jù)監(jiān)控模塊會(huì)采用差錯(cuò)校驗(yàn)作為彌補(bǔ)。
2.3.2 數(shù)據(jù)傳輸模塊硬件組成
(1) 串口協(xié)議轉(zhuǎn)換模塊
串口協(xié)議轉(zhuǎn)換模塊提供了一種全新的網(wǎng)絡(luò)構(gòu)架模式:無(wú)需更改原有系統(tǒng)的應(yīng)用程序,即可以讓傳統(tǒng)的RS-232或RS-422/485串行設(shè)備立即轉(zhuǎn)換成具備網(wǎng)絡(luò)界面的網(wǎng)絡(luò)設(shè)備,而且轉(zhuǎn)換成本極低。本系統(tǒng)采用臺(tái)灣MOXA公司的串口服務(wù)器。串口協(xié)議轉(zhuǎn)換器結(jié)構(gòu)示意圖如圖4所示,不同公司的產(chǎn)品稍有不同。
(2) 無(wú)線傳輸模塊
無(wú)線傳輸模塊的工作原理是將串口數(shù)據(jù)拆成分組并通過(guò)移動(dòng)網(wǎng)關(guān)和路由送至公網(wǎng)固定IP 地址的通信服務(wù)器模塊。無(wú)線傳輸模塊主要由TCP/IP協(xié)議處理模塊和GPRS模塊組成,生產(chǎn)GPRS模塊的主要有Motorola、SIEMENS和WAVE2COM等公司。本系統(tǒng)采用SIEMENS公司的MC35 GPRS模塊和嵌入TCP/IP協(xié)議的8051內(nèi)核MSC1210Y5單片機(jī)來(lái)組建無(wú)線傳輸模塊。為了方便移動(dòng)采集設(shè)備的數(shù)據(jù)采集和定位,通過(guò)串口擴(kuò)展芯片(GM1823)擴(kuò)展了GPS模塊,使得無(wú)線傳輸方式可以同步傳輸自身的地理位置信息(GPS定位信息)。同時(shí)也可根據(jù)需求擴(kuò)展完善此無(wú)線傳輸模塊的功能,其結(jié)構(gòu)如圖5所示。
2.4 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊為山東省地震局原有設(shè)備,是各前兆臺(tái)站負(fù)責(zé)實(shí)時(shí)檢測(cè)采集周圍環(huán)境參數(shù)(如溫度、濕度、壓力、地磁參數(shù)等)的基礎(chǔ)設(shè)施。它以十六進(jìn)制的形式通過(guò)串行物理接口(此類工業(yè)控制器大都采用標(biāo)準(zhǔn)的RS232/485接口)向外發(fā)送采集的數(shù)據(jù)。
該模塊具有數(shù)據(jù)存儲(chǔ)的功能,能夠存儲(chǔ)一定時(shí)間內(nèi)的數(shù)據(jù)信息,并且有豐富的指令集可接受控制命令(如改變上傳數(shù)據(jù)的時(shí)間間隔,改變本地設(shè)備的編號(hào)等)。數(shù)據(jù)采集模塊直接連接數(shù)據(jù)傳輸模塊,可以采用主動(dòng)或被動(dòng)的方式把保存的歷史數(shù)據(jù)或?qū)崟r(shí)數(shù)據(jù)交給數(shù)據(jù)傳輸模塊傳送至通信服務(wù)器模塊。
本系統(tǒng)是與山東省地震局合作開(kāi)發(fā)的一個(gè)實(shí)際工程項(xiàng)目,項(xiàng)目的完成是理論與實(shí)際需求緊密結(jié)合的結(jié)果。本文利用網(wǎng)絡(luò)通信和GPRS遠(yuǎn)程控制技術(shù),緊密結(jié)合目前地震系統(tǒng)前兆參數(shù)的采集現(xiàn)狀,方便、全面地將各個(gè)分散前兆采集點(diǎn)的數(shù)據(jù)納入整個(gè)監(jiān)測(cè)系統(tǒng)。筆者在聊城、膠州、臨沂、菏澤等多個(gè)地區(qū)的采集點(diǎn)增加了數(shù)據(jù)傳輸模塊,組成了跨地區(qū)現(xiàn)場(chǎng)數(shù)據(jù)采集網(wǎng)絡(luò)。經(jīng)過(guò)三個(gè)月的系統(tǒng)運(yùn)行實(shí)驗(yàn),對(duì)數(shù)據(jù)傳輸模塊與監(jiān)控中心通信時(shí)發(fā)生的數(shù)據(jù)包錯(cuò)誤情況進(jìn)行了測(cè)試。隨機(jī)選取的5個(gè)采集點(diǎn)的數(shù)據(jù)統(tǒng)計(jì)顯示,收取錯(cuò)誤數(shù)據(jù)包的比例約為1%,經(jīng)校驗(yàn)重發(fā)后數(shù)據(jù)包錯(cuò)誤率基本為0;數(shù)據(jù)監(jiān)控模塊下發(fā)控制指令平均響應(yīng)時(shí)間為3s,取得了滿意的效果。
實(shí)驗(yàn)結(jié)果表明,此系統(tǒng)應(yīng)用狀況良好,符合現(xiàn)場(chǎng)采集需要,接收數(shù)據(jù)穩(wěn)定可靠,優(yōu)點(diǎn)如下:(1)成本低,占用資源少,數(shù)據(jù)可靠;(2)運(yùn)行速度快,批量檢測(cè)仍能滿足性能要求;(3)自動(dòng)定時(shí)或手動(dòng)接收數(shù)據(jù)準(zhǔn)確自如,歷史、故障信息完整,節(jié)省人力資源;(4)整個(gè)系統(tǒng)采用靈活的架構(gòu)設(shè)計(jì),為今后的維護(hù)擴(kuò)展提供了有力的支持。該系統(tǒng)還適用于電力系統(tǒng)自動(dòng)化、工業(yè)監(jiān)控、交通管理、實(shí)時(shí)氣象、金融證卷、環(huán)境監(jiān)測(cè)、煤礦以及石油等行業(yè)遠(yuǎn)程數(shù)據(jù)采集同步傳輸。
參考文獻(xiàn)
[1] 盧永,強(qiáng)學(xué)民.遠(yuǎn)程通訊技術(shù)在地震電磁波監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].地震地磁觀測(cè)與研究,2005,26(4):60-64.
[2] 陰朝民.地震前兆數(shù)字觀測(cè)公用技術(shù)與臺(tái)網(wǎng)[M].北京:地震出版社,2003.
[3] 韓芳,廖鐵軍.GPRS遠(yuǎn)程采集地震記錄的傳輸質(zhì)量控制解決方案[J].重慶大學(xué)學(xué)報(bào),2005,28(4):60-64.
[4] 王學(xué)偉,王彥碩.基于以太網(wǎng)的數(shù)據(jù)采集及監(jiān)控系統(tǒng)的數(shù)據(jù)通信研究[J].北京化工大學(xué)學(xué)報(bào),2006,33(1):109-111.
[5] GAMMA E, HELM R. Design patterns elements of reusable object-oriented software[M].PEARSON EDUCATION,2002
[6] RFC1661.The point to point protocol(PPP)[S].